MATLAB对象数组
对象数组
同⼀个对象可以数组串联起来
b1 =Square();
b2 =Square();
b3 =Square();
objArray =[b1,b2,b3];
当对象很多时,以上⽅法会很⿇烦。加⼊我们要构造 10 个对象,可以⽤⼀下⽅式
obj.Array(1,10)=Square(5);
这样必须要求 Square 有不带参数的默认构造函数,因为前九个空缺的位置会⾃动调⽤默认构造函数
对象元胞数组
上述普通数组中只能放同⼀种类型的对象,如果要将 Rectangle 和 Circle 类放在同⼀个数组中,则需要放在元胞数组中。
o1 =Square();
o2 =Circle();
oCell ={o1,o2};
对象查询
可以⽤ findobj 函数查询符合要求的对象
A = findobj(参数),其中参数可以如下所⽰
参数名称说明
(H)返回 H 中列出的对象及其所有⼦级
(H,property,value,…,property,value)查将指定属性设置为指定值的 handle 对象(H,’-not’,property,value)查其指定的属性不等于 value 的对象。
(H,’-regexp’,property,value)将 value 参数的内容视为正则表达式。
(H,property,value,’-
logicaloperator’,property,value)
⽀持的逻辑运算符包括’or’,‘and’,‘xor’(H,’-function’,fh)对 H 中的对象调⽤函数句柄 fh,并返回此函数对其返回 true 的对象。
(H,’-function’,property,fh)对 H 中对象的指定属性值调⽤函数句柄 fh,并返回此函数对其返回 true 的对象。此函数必须返回
标量逻辑值。
(H,’-class’,class)查属于指定类的所有对象。
(H,’-isa’,class)查属于指定类的所有对象(H,’-property’,property)查 H 中具有给定属性的所有对象。
(H,’-method’,methodname)查具有指定的⽅法名称的对象。
(H,’-event’,eventname)查具有指定事件名称的对象。
matlab数组赋值
(H,’-depth’,d,___)指定要搜索 H 中对象下⾯的实例层次结构中的多少个级别。实例
classdef PhoneBook < handle
properties
name
number
end
methods
function
o.name = n;
o.number = p;
end
end
end
PBook =[PhoneBook('Jack',1001),
phoneBook('Loren',1002),
phoneBook('Doug',1002)];
寻 name 为 Jack 的对象
o =findobj(PBook,'name','Jack');
寻号码为 1002 的对象,由于有两个满⾜,返回 1 × 2 对象数组o =findobj(PBook,'number',1002);
寻 name 为 Loren 电话为 1002 的对象
o =findobj(PBook,'name','Loren','-and','number',1002);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。