主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

编码器。ClassTypeクラス

パッケージ:编码器
スーパークラス:编码器。ArrayType

MATLABクラスのセットを表します。

説明

生成コードが受け入れることができる値クラスオブジェクトのセットを指定します。codegenarg游戏オプションでのみ使用します。生成された墨西哥人関数に入力として渡さないでください。

構築

メモ

编码器。类型オブジェクトの作成と編集は,コード生成の型エディターを使用して対話形式で行うこともできます。コード生成の型エディターを使用した入力の型の作成と編集を参照してください。

t= coder.typeof (value_class_objectはオブジェクトvalue_class_object编码器。ClassTypeオブジェクトを作成します。

t= coder.newtype (value_class_nameはクラスvalue_class_nameのオブジェクトに编码器。ClassTypeオブジェクトを作成します。

入力引数

value_class_object

编码器。ClassTypeオブジェクトを作成する値クラスオブジェクト。value_class_objectは値クラスのオブジェクトとして評価される式です。次に例を示します。

v = myValueClass;t = coder.typeof (v);

t = coder.typeof (myValueClass(2、3);

value_class_name

MATLAB®パス上にある値クラス定義ファイルの名前。文字ベクトルまたは字符串スカラーとして指定します。次に例を示します。

t = coder.newtype (“myValueClass”);

プロパティ

関数coder.typeofを使用して値クラスオブジェクトvから编码器。ClassTypeオブジェクトtを作成するときに,tのプロパティは,属性常数に設定されたvのプロパティと同じになります。

コピーのセマンティクス

値。値クラスがコピー操作に与える影響については,オブジェクトのコピーを参照してください。

オブジェクト例に基づく型の作成

ワークスペース内のオブジェクト例に基づいて型を作成します。

値クラスmyRectangleを作成します。

classdefmyRectangle属性长度;宽度;结束方法函数obj = myRectangle (l, w)如果Nargin > 0 obj。长度= l;obj。宽度= w;结束结束函数Area = calcalarea (obj)长度* obj.width;结束结束结束

myRectangleのオブジェクトを入力として取得する関数を作成します。

函数z = getarea(右)% # codegenz =钙质海绵纲(r);结束

myRectangleのオブジェクトを作成します。

v = myRectangle(1、2)
v = myRectangle带有属性:length: 1 width: 2

vに基づく编码器。ClassTypeオブジェクトを作成します。

t = coder.typeof (v)
t =编码器。ClassType1×1 myRectangle length: 1×1 double width : 1×1 double

coder.typeofは,vと同じプロパティ名とタイプをもつ编码器。ClassTypeオブジェクトを作成します。

getareaのコードを生成します。编码器。ClassTypeオブジェクトtarg游戏オプションに渡すことで,入力の型を指定します。

codegengetareaarg游戏{t}报告

coder.newtypeを使用した型の作成

coder.newtypeを使用して,値クラスmySquareのオブジェクトに编码器。ClassTypeオブジェクトを作成します。

1つのプロパティ一边をもつ値クラスmySquareを作成します。

classdefmySquare属性一面;结束方法函数obj = mySquare (val)如果Nargin > 0 obj。一边= val;结束结束函数A = calcalarea (obj)* obj.side;结束结束结束

mySquare编码器。ClassType型を作成します。

t = coder.newtype (“mySquare”

一边の型を指定します。

t.Properties.side = coder.typeof (2)

ヒント

  • 编码器。ClassTypeの作成後,プロパティのタイプを変更できます。次に例を示します。

    t = code .typeof(myClass)prop1 = coder.typeof (int16 (2));t.Properties。prop2 =编码器。typeof([1 2 3]);

  • 编码器。ClassTypeの作成後,プロパティを追加できます。次に例を示します。

    t = code .typeof(myClass)newprop1 = coder.typeof (int8 (2));t.Properties。newprop2 =编码器。typeof ((1 2 3));

  • コードを生成するとき,codegenに渡される编码器。ClassTypeオブジェクトのプロパティはクラス定義ファイル内のプロパティと一致していなければなりません。ただし,コードで使用されていないプロパティがクラス定義ファイルに存在する場合,编码器。ClassTypeオブジェクトはこれらのプロパティを含める必要はありません。コードジェネレーターは,使用されていないプロパティを削除します。

R2017aで導入