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