Определите если свойство объекта
tf = isprop (obj, PropertyName)
tf = isprop(obj,PropertyName)
возвращает true
, если заданный PropertyName
является свойством объекта obj
. В противном случае isprop
возвращает логический false
. Задайте PropertyName
как вектор символа или скаляр строки.
Если obj
является массивом, isprop
возвращает логический массив тот же размер как obj
. Каждый истинный элемент tf
соответствует элементу obj
, который имеет свойство, PropertyName
.
Если obj
является пустым объектом или массивом пустых объектов, isprop
возвращает пустой логический массив, даже если PropertyName
является свойством obj
.
В то время как isprop
возвращает true
, если класс объекта задает свойство того имени, классы могут управлять доступом к значениям свойств путем определения атрибутов свойства. Доступ к свойству может быть задан как:
Читаемый и перезаписываемый
Только для чтения
Только для записи
Доступный только для определенных методов класса
Поэтому isprop
может указать, что свойство существует, но вы не можете смочь получить доступ к тому свойству. Для получения дополнительной информации см. Получение информации О Свойствах.
Этот пример использует isprop
, чтобы определить, является ли XDataSource
свойством объекта h
прежде, чем попытаться установить значение свойства:
h = plot(1:10); if isprop(h,'XDataSource') set(h,'XDataSource','x') else error(['XDataSource not a property of class ',class(h)]) end
Поскольку XDataSource
является свойством h
, его значение установлено к 'x'
.