オブジェクト指向プログラミングにおけるオブジェクトとクラス

MAXScript に関連するいくつかの用語を理解するには、オブジェクト指向プログラミングの基本的な理解が必要です。

integermatrix3、や twist などのように、MAXScript において扱う値にはすべて明確に定義されたタイプがあります。値の「タイプ」は「クラス」としても知られており、現代のオブジェクト指向言語の規約に従っています。今までは、「」で計算するものを呼び出す、ある程度中立の規約を使用してきました。オブジェクト指向言語におけるこれらのものに対する用語は「オブジェクト」です。このドキュメントでは、「オブジェクト」と「」という用語は同義語です。「オブジェクト」は「クラス」の特定のインスタンスです。

たとえば、MAXScript では Box はクラスです。これは 3ds Max に表示されるボックスではなく、このボックスの持つ特性を定義します。これらの特性には、Box クラスのインスタンス (ボックス オブジェクト) を作成するメソッド、ボックス オブジェクトのプロパティ (高さ、幅、長さなど)、およびボックス オブジェクトに適用できる操作 (移動、コピー、削除など) が含まれます。

ボックス オブジェクトを作成するには、次のような文字列を使用します。

b=box()

この行では box() はコンストラクタです。このコンストラクタによりボックス オブジェクトが作成され、そのボックス オブジェクトに対する参照が返されます。この参照は、更に変数 b に格納されます。コンストラクタに対してパラメータ (高さ、幅、長さなど) が与えられていないため、Box クラスで指定されている既定値が使用されます。3ds Max ビューポートにこのボックス オブジェクトが表示されます。このオブジェクトは、3ds Max で作成する他のオブジェクトと同じように操作できます。

コンストラクタでパラメータが与えられている場合は、そのパラメータが「 () 」の部分と置き換えられます。

b=box width:10 length:100

ここで与えられたパラメータを使用してボックス オブジェクトが作成されます。与えられていないパラメータでは、いずれも既定値が使用されます。

MAXScript は、内部的にはオブジェクト指向です。組み込みクラスはすべて継承階層で整理され、組み込み関数の大部分はポリモーフィックです。用語については以下で説明します。ただし、MAXScript では新規のクラスを作成できず、スクリプト可能な関数はポリモーフィックではありません。これは後のバージョンの MAXScript で変更される可能性もありますが、上級レベルの改善点であり、アプリケーション スクリプト言語では実際に必要とされません。そこでは最も重要な抽象物、すなわちホスト アプリケーションの機能が既に組み込まれています。

関連事項