#oop #list #inheritance #collections
#ооп #Список #наследование #Коллекции
Вопрос:
Я пытаюсь создать объект controls, чтобы лучше создавать свои формы.
Ниже 1 объект, который наследуется от определенного типа, и 1 объект, который определен как определенный тип.
Не могли бы вы сказать мне, пожалуйста, когда использовать ControlsCollection1 и ControlsCollection2 и почему не использовать конкретный. В чем разница между ними? Когда я создаю объект, который наследуется от существующего объекта, и когда я создаю объект как объект определенного типа?
Второй вопрос, коллекция лучше, чем список?
Я все еще учусь, поэтому надеюсь, что это имеет смысл.
Public Class ControlsCollection1
Private _controls As List(Of TextBox)
Private _textbox As TextBox
Public Sub New(ByVal textbox As TextBox)
Me._textbox = textbox
End Sub
Public Property Textbox() As TextBox
Get
Return _textbox
End Get
Set(ByVal value As TextBox)
_textbox = value
End Set
End Property
End Class
Public Class ControlsCollection2
Inherits List(Of TextBox)
End Class
вызывающий класс:
Dim col1 As New ControlsCollection1(New TextBox)
Dim col2 As New ControlsCollection2
col2.Add(New TextBox)
Ответ №1:
Наследование — это способ повторного использования кода существующих объектов, создания подтипа из существующего объекта или обоих, в зависимости от поддержки языка программирования. В классическом наследовании, где объекты определяются классами, классы могут наследовать атрибуты и поведение (т. Е. Ранее закодированные алгоритмы, связанные с классом) от ранее существовавших классов, называемых базовыми классами или суперклассами или родительскими классами или классами-предками. Новые классы известны как производные классы, подклассы или дочерние классы. Отношения классов посредством наследования порождают иерархию. В программировании на основе прототипов объекты могут быть определены непосредственно из других объектов без необходимости определять какие-либо классы, и в этом случае эта функция называется дифференциальным наследованием. Короче говоря (СУХО), принцип «Не повторяйся».
Список — это коллекция. Однако это специализированная коллекция.
Коллекция — это просто набор элементов. Вы можете добавлять материал, удалять материал, выполнять итерации по материалу и запрашивать, сколько там материала.
Список добавляет в него информацию об определенной последовательности элементов: вы можете получить элемент в позиции n, вы можете добавить элемент в позиции n, вы можете удалить элемент в позиции n.
В коллекции вы не можете этого сделать: «5-й элемент в этой коллекции» не определен, потому что нет определенного порядка.
Существуют и другие специализированные коллекции, например, набор, который добавляет особенность в том, что он никогда не будет содержать один и тот же элемент дважды.
Таким образом, ваш код не имеет смысла перепроектировать после того, как вы прочитаете это и поймете … во-вторых, не добавляйте вопросы, которые являются дубликатами в stackoverflow В-третьих, используйте Google много в своей карьере, потому что это даст вам быстрые ответы. в-четвертых, отметьте это как ответ, если вы получили свой ответ 🙂 удачи