インスタンスは、クラス宣言式の定義に基づいて動的に生成したデー タ構造です。インスタンスの生成は、2つの方法がありあます。
先のクラスPointのインスタンスの生成について見てみましょう。
第1の方法は、予約語newを使って
var anInstance ;
anInstance = new Point ;
と行います。この場合、生成されたインスタンスのデータメンバの初期化はで きません。クラスPointの場合は、生成後、メソッドSet()を使って下記のよう に初期化します。
anInstance->Set(10, 20) ;
ここで、`->'は、インスタンスのメンバを選択するための演算子です。 これによって、PointクラスのメソッドSet()を選択しています。また、'.' も、 `->'と全く同じ意味で使うことができます。
もうひとつは、クリエータNew()を使う方法です。Pointクラスのインスタンスを生 成する場合は、下記のようになります。
var anInstance ;
anInstance = Point->New(10, 20) ;
クリエータを用いる場合は、クラスからメンバを選択します。このように、イ ンスタンスから選択するのではなく、クラスからメンバ選択をして呼び出すメ ソッドをクラスメソッドといいます。
クラス名->New([引数 [,引数...]])
クリエータを使う場合は、初期化コードがある場合は、生成時にメンバの初期 化をすることができます。