class ClassName [ as BaseClassName]
private メンバ変数
...
'コンストラクタ
sub new( arg1 as object, ... )[, BaseClassName( baseArg1, ... ) ]
end sub
'デストラクタ
sub delete
end sub
...
end class
で定義する。( BaseClassNameはスーパークラス名)
コンストラクタは"Sub New"で、デストラクタは"Sub Delete"で定義する。
クラス内でのみ使用するメンバ(変数、関数)は"Private"で定義する。
オーバーライドしたスーパークラスの関数にアクセスする場合は
BaseClassName..Function( arg ) (ベースクラス名+ドット×2+関数名)
でアクセスする。
[クラス定義の制約]
- オーバーロードできない
- オーバーライドは可能(引数は同じでなければならない)
- Staticメンバが作成できない
- 演算子(+,-など)のオーパーロードもできない
- ポインタ引数が使用できない(処理する関数を引数で渡せない)
- 引数の省略ができない