主要内容

指定对象作为输入

当你通过使用加速代码fiaccel指定一个输入的类型,是一个价值类对象,您可以提供对象的一个例子arg游戏选择。

  1. 定义类的值。例如,定义一个类myRectangle

    classdefmyRectangle属性长度;宽度;结束方法函数obj = myRectangle (l, w)如果输入参数个数> 0 obj。长度= l;obj。宽度= w;结束结束函数面积=钙质海绵纲(obj)面积= obj。长度* obj.width;结束结束结束

  2. 定义一个函数,接受值类的一个对象作为输入。例如:

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

  3. 定义一个类的对象。

    rect_obj = myRectangle (fi (4)、(5))

    rect_obj = myRectangle属性:长度:[1×1嵌入式。fi)宽度(1×1 embedded.fi):
  4. 通过实例对象fiaccel通过使用arg游戏选择。

    fiaccelgetareaarg游戏{rect_obj}报告

    在报告中,你可以看到这一点r具有相同的属性,长度宽度,为例对象rect_object

对象,而不是提供一个例子,您可以创建一个类型值类的一个对象,并提供的类型arg游戏选择。

  1. 定义一个对象的类:

    rect_obj = myRectangle (fi (4)、(5))
    rect_obj = myRectangle属性:长度:[1×1嵌入式。fi)宽度(1×1 embedded.fi):

  2. 创建的对象的类型myRectangle相同的属性类型rect_obj,使用coder.typeofcoder.typeof创建一个coder.ClassType对象为一个类定义了一个类型。

    t = coder.typeof (rect_obj)
    t =编码器。ClassType 1×1 myRectangle长度:1×1嵌入式。fi DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 12宽度:1×1嵌入式。fi DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 12

  3. 通过类型fiaccel通过使用arg游戏选择。

    fiaccelgetareaarg游戏{t}报告

在您创建的类型,您可以更改的类型属性。

t.Properties。长度= coder.typeof(fi(0,1,32,29)) t.Properties.width = coder.typeof(fi(0,1,32,29))

你也可以添加或删除属性。例如,添加一个属性newprop:

t.Properties。newprop= coder.typeof(int16(1))

之间的一致性coder.ClassType对象和类定义文件

当你加速代码的属性coder.ClassType对象传递给fiaccel必须符合类定义中的属性文件。如果类定义文件属性,代码没有使用coder.ClassType对象没有包括那些属性。fiaccel删除您不使用的属性。

限制使用对象作为入口点函数的输入

入口点函数的输入对象有这些限制:

  • 的对象是一个入口点函数值类的输入必须是一个对象。处理类的对象不能入口点函数的输入。因此,一个值类,它包含一个处理类不能被一个入口点函数的输入。

  • 一个对象不能被一个全局变量。

  • 如果一个对象有重复的属性名称,你不能使用它coder.Constant。重复的属性名称出现在一个子类的对象在这些情况下:

    • 子类的属性相同的名称作为一个超类的属性。

    • 的子类来源于多个超类使用相同名称的属性。

    MATLAB时信息®允许重复的属性名称,明白了子类化多个类

另请参阅

相关的话题