Когда использовать наследование?

#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 много в своей карьере, потому что это даст вам быстрые ответы. в-четвертых, отметьте это как ответ, если вы получили свой ответ 🙂 удачи