LotusScriptでのクラス作成

[基本]
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メンバが作成できない
  • 演算子(+,-など)のオーパーロードもできない
  • ポインタ引数が使用できない(処理する関数を引数で渡せない)
  • 引数の省略ができない