编码器。ClassType类
包:编码器
超类:编码器。ArrayType
表示的集合MATLAB类
描述
指定生成的代码可以接受的一组值类对象。仅与codegen
arg游戏
选择。不要将其作为输入传递给生成的MEX函数。
建设
创建一个t
= coder.typeof (value_class_object
)编码器。ClassType
对象的对象value_class_object
。
创建一个t
= coder.newtype (value_class_name
)编码器。ClassType
类的对象value_class_name
。
输入参数
|
的值类对象,从中创建 v = myValueClass;T = coder.typeof(v); t = coder.typeof(myValueClass(2,3)); |
|
MATLAB中值类定义文件的名称®路径。指定为字符向量或字符串标量。例如: T = coder.newtype(“myValueClass”);
|
属性
当你创建编码器。ClassType
对象coder.typeof
,编码器。ClassType
对象具有与构造它的对象相同的属性。
复制语义
价值。要了解值类如何影响复制操作,请参见复制对象(MATLAB)。
例子
基于样例对象创建类型
基于工作区中的示例对象创建类型。
创建一个值类myRectangle
。
classdefmyRectangle属性长度;宽度;结束方法函数obj = myRectangle(l,w)如果Nargin b> 0 obj。长度= l;obj。宽度= w;结束结束函数Area = calcarea(obj) Area = obj。长度* obj.width;结束结束结束
创建一个接受的对象的函数myRectangle
作为输入。
函数Z = getarea(r)% # codegenZ = calcarea(r);结束
的对象myRectangle
。
v = myRectangle(1,2)
v = myRectangle,长度:1,宽度:2
创建一个编码器。ClassType
对象v
。
T = coder.typeof(v)
T =编码器。ClassType1×1 myRectangle length: 1×1 double width : 1×1 double
coder.typeof
创建一个编码器。ClassType
对象具有相同的属性名称和类型v
有。
生成代码getarea
。参数指定输入类型编码器。ClassType
对象,t
,到…arg游戏
选择。
codegengetareaarg游戏{t}报告
使用创建类型coder.newtype
创建一个编码器。ClassType
对象用于值类的对象mySquare
通过使用coder.newtype
。
创造价值类mySquare
它有一个性质,一边
。
classdefmySquare属性一面;结束方法函数obj = mySquare(val)如果Nargin b> 0 obj。Side = val;结束结束函数A = calcarea(obj)Side * obj.side;结束结束结束
创建一个编码器。ClassType
类型mySquare
。
T = coder.newtype(“mySquare”)
指定的类型一边
。
t.Properties.side = coder.typeof(2)
提示
创建一个
编码器。ClassType
,您可以修改属性的类型。例如:t = coder.typeof(myClass)Prop1 = coder.typeof(int16(2));t.Properties。Prop2 =编码器。typeof([1 2 3]);
创建一个
编码器。ClassType
,您可以添加属性。例如:t = coder.typeof(myClass)Newprop1 = coder.typeof(int8(2));t.Properties。Newprop2 =编码器。Typeof ([1 2 3]);
的属性
编码器。ClassType
传递给的对象codegen
必须与类定义文件中的属性一致。但是,如果类定义文件具有代码不使用的属性,则编码器。ClassType
对象不必包含这些属性。代码生成器将删除不使用的属性。
另请参阅
codegen
|编码器
|编码器。ArrayType
|编码器。常数
|编码器。EnumType
|编码器。EnumType
|编码器。FiType
|编码器。PrimitiveType
|编码器。类型
|coder.cstructname
|coder.newtype
|coder.resize
|coder.typeof