MATLAB®7.6より前のクラス定義(classdef
ステートメントなしでクラスを定義)では,クラスコンストラクターが関数类
を呼び出してオブジェクトを作成していました。次に示す関数类
の構文は,版本7.6より前に定義されたクラス内にのみ適用されます。
obj =类(年代,类名)
は,指定されたクラスのオブジェクト配列を作成します。そのときに,结构体
年代
をパターンとして使用して,obj
のサイズを決定します。
obj =类(年代,类名,parent1 parent2,………)
は,指定された親オブジェクトのメソッドとフィールドを継承します。親オブジェクトのサイズは,年代
のサイズと一致するか,スカラー(1行1列)でなければなりません。スカラーの場合,MATLABはスカラー拡張を行います。
obj =类(struct([]),类名,parent1 parent2,………)
は,親オブジェクトから継承したフィールドのみを格納したオブジェクトを作成します。親のサイズはいずれも非ゼロの同じサイズでなければならず,返されるオブジェクトのサイズはこのサイズによって決定されます。
objStruct =类(structArray ClassName, parentArray)
は,parentArray
の各要素をstructArray
の対応する要素にマップして,オブジェクトobjStruct
の出力配列を生成します。
配列はすべて同じサイズでなければなりません。structArray
またはparentArray
のいずれかのサイズが1行1列である場合,MATLABはスカラー拡張を行って配列サイズを一致させます。
サイズが0行0列のオブジェクト配列を作成するには,structArray
とparentArray
のサイズを0行0列に設定します。