Base (初始值设定)
 
在派生的UDT构造函数中指定基本UDT的初始值

语法

Base ( constructor-parameters... )
or:
Base UDT-initializer

说明

Base初始化程序可以在派生UDT的构造函数的顶部使用。它允许指定用于初始化基础对象的显式构造函数调用或UDT初始化器。它将替换隐式默认初始化,并且必须出现在其使用的构造函数中的任何其他语句之上。

注意:与“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( )
    ''基本UDT构造函数调用
    Base( 1 )
End Constructor

Constructor Child( ByRef rhs As Child )
    ''基本UDT构造函数调用
    Base( rhs.i )
End Constructor

方言差异

  • 方法仅在-lang fb 方言中支持,因此基础在其他方言中没有功能。

与QB差别

  • 新的FreeBASIC

参考