Основы VB.NET Урок 33. В каком порядке вызываются конструкторы?
Если у нас есть несколько классов, образующих иерархию, то при создании экземпляра класса-потомка сначала вызываются конструкторы для его предков (начиная с самого первого класса-предка, и далее вплоть до непосредственного предка нашего класса) и только потом выполняется код конструктора самого класса. Вот пример:
Class A
Sub New()
Console.WriteLine("A")
End Sub
End Class
Class B
Inherits A
Sub New()
Console.WriteLine("B")
End Sub
End Class
Class C
Inherits B
Sub New()
Console.WriteLine("C")
End Sub
End Class
Class test
Shared Sub Main()
'Вызывается конструктр класса C
'На консоль выведется "ABC"
Dim b1 As New C()
End Sub
End Class
При создании нового экземпляра класса C вызывается конструктор его "дедушки" - класса A (этот конструктор выведет "A"), затем конструктор класса B (он выведет "B") и, наконец, конструтор самого класса C (выведет "C").
|