主要内容

初始化对象数组

调用构造函数

在创建对象数组,MATLAB®可以调用类的构造函数不带参数,即使构造函数没有构建一个对象数组。例如,假设您定义下面的类:

classdefSimpleValue属性价值结束方法函数obj = SimpleValue (v) obj。值= v;结束结束结束

执行下列语句创建一个数组:

(7)= SimpleValue (7)
错误使用SimpleValue(第7行)没有足够的输入参数。

这个错误是因为MATLAB调用不带参数的构造函数来初始化元素1通过6在数组中。

你的类必须支持输入参数构造函数的金宝app语法。一个简单的解决方案是测试输入参数个数时的情况输入参数个数= = 0执行任何代码,但不是错误:

classdefSimpleValue属性价值结束方法函数obj = SimpleValue (v)如果输入参数个数> 0 obj。值= v;结束结束结束结束

使用修改后的类定义,前面的数组赋值语句执行没有错误:

(7)= SimpleValue (7)
= 1 x7 SimpleValue数组属性:价值

对象赋给数组元素(7)使用传递给构造函数的输入参数作为分配给属性的值:

(7)
ans = SimpleValue属性:值:7

MATLAB中包含的对象创建元素(1,1:6)没有输入参数。属性的默认值为空[]。例如:

(1)
ans = SimpleValue属性:价值:[]

MATLAB调用SimpleValue构造函数,返回的对象复制到数组的每个元素。

对象属性的初始值

当MATLAB调用不带参数的构造函数来初始化一个对象数组,发生下列作业:

  • 如果属性定义指定默认值,MATLAB指定这些值。

  • 如果没有输入参数的构造函数分配值,MATLAB指定这些值。

  • 如果没有前面的情况下适用,MATLAB的价值分配空双(也就是说,[])的财产。

相关的话题