Main Content

isprop

确定属性是否由对象定义

说明

示例

如果指定的 PropertyName 是对象 obj 的属性,tf = isprop(obj,PropertyName) 将返回逻辑值 1 (true)。否则,isprop 返回 0 (false)。如果 obj 是数组,isprop 返回的逻辑数组大小与 obj 相同。tf 的每个 true 元素与 obj 中具有 PropertyName 属性的元素相对应。

示例

全部折叠

您可以在尝试设置对象的属性之前,通过在 if 语句中使用 isprop 来验证该属性是否存在。

创建一个线图,并为对象分配一个变量。

p = plot(1:10,1:10);

Graph of a solid line

使用 if 语句验证对象 p 是否具有 LineStyle 属性。如果具有,则为 LineStyle 设置新值。

if isprop(p,"LineStyle")
  p.LineStyle = ":";
else
  disp("This object does not have a LineStyle property.")
end

Graph of a dotted line

输入参数

全部折叠

要调查的对象,指定为单个对象或对象数组。

属性的名称,指定为字符向量或字符串标量。

局限性

  • 类可以通过定义属性特性来控制对属性值的访问。例如,属性可以是 private,这意味着它仅在定义它的类中是可读和可写的。isprop 表示这些属性存在,不管您是否可以直接访问该属性。有关详细信息,请参阅属性特性

  • 当使用字符向量或字符串标量以外的任何 PropertyName 值类型调用 isprop 时,都始终返回 false。例如,如果您为 PropertyName 传入字符串数组,则 isprop 将返回 false,即使一个或多个数组元素是该对象的属性也是如此。

  • 如果 obj 是一个空对象或空对象数组,isprop 则返回一个空逻辑数组,即使 PropertyNameobj 的属性也是如此。

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出