Skip to content

Class

定义类。类是创建对象的模板——类是对象类型,与值类型相对。对象通过引用持有并采用引用计数。当不再有引用指向对象时——即进程中没有变量引用它们时——对象占用的内存会被释放。

语法:

[ attributes ]
[ Public | Private ] Class name [ ( Of typevars ) ]
    [ Inherits baseclass ]
    [ classmember ]
    [ classmember ] ...
End Class

attributes

可选 以下一个或多个:
ArrayBoundsChecksClassIdCOMCreatableCustomControlDescriptionFloatingPointErrorChecksFormDesignerIdHiddenIntegerOverflowChecksPredeclaredID

Public

可选 (twinBASIC) 在ActiveX项目中,将类标记为导出到类型库,使其他项目的使用者可以创建和使用它。

Private

可选 (twinBASIC) 在ActiveX项目中,不将类导出到类型库:它在项目内仍可使用但不导出。与 CoClass 的常规搭配——一个公共 CoClass 作为使用者可见的契约,配对一个 Private Class 作为隐藏的实现——依赖此修饰符。

name

命名类的标识符。

Of typevars

可选 (twinBASIC) 一个或多个用逗号分隔的类型变量名,使类成为泛型类。每个类型变量可以在成员声明中像常规类型一样被引用。参见泛型

Inherits baseclass

可选 (twinBASIC) 指定一个基类,其 PublicProtected 成员被 name 继承。Inherits 行(如果存在)必须紧跟在 Class 头部之后、任何其他成员之前。Inherits 启用 Overridable / Overrides 成员、从 Sub New 内部的显式 *baseclass*.New(...) 链式构造函数调用,以及 Protected 成员可见性。参见继承

classmember

可选 以下任意项:

.twin 文件中,Class 块可以与 InterfaceCoClassAlias 声明(出现在 Class之前)以及 Module 块共享同一文件。在传统 .cls 文件中,类是隐式的,不写 Class/End Class 关键字。

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有