Определяет инициализатор базового типа в конструкторе производного
Udt
Синтаксис
Base ( constructor-parameters... )
или:
Base UDT-initializer
Описание
Инициализатор
Base может использоваться в верхней части
конструкторов производных определяемых пользователем типов. Это позволяет
явно указать вызов конструктора или использоваться для инициализации
базового объекта. Он заменит значения по умолчанию неявным значением
инициализатора. Данный инициализатор должен располагаться выше любых других
заявлений в конструкторе.
Примечание: в отличие от "
Base( )", "
Base.Constructor( )"
заявление не заменяет неявную инициализацию по умолчанию, проделанную
конструктором производного UDT, и обычно не может быть использовано на
законных основаниях, поскольку это привело бы к двойному вызову конструктора
для базового объекта.
Пример
Type SimpleParent
As Integer a, b, c
End Type
Type Child extends SimpleParent
Declare Constructor( )
End Type
Constructor Child( )
'' Простой UDT инициализатор
Base( 1, 2, 3 )
End Constructor
Type ComplexParent
As Integer i
Declare Constructor( ByVal As Integer =
0)
End Type
Constructor ComplexParent( ByVal i As Integer
= 0 )
this.i = i
End Constructor
Type Child extends ComplexParent
Declare Constructor( )
Declare Constructor( ByRef As Child )
End Type
Constructor Child( )
'' Вызов Base UDT конструктора
Base( 1 )
End Constructor
Constructor Child( ByRef rhs As Child )
'' Вызов
Base UDT конструктора
Base( rhs.i )
End Constructor
Различия диалектов
- Методы поддерживаются только в диалекте -lang fb,
следовательно Base не имеет никакой
функциональности в других диалектах.
Отличия от QB
См. также