Класс: указатель
Нахождение объектов указателя
Hmatch = findobj(H)
Hmatch = findobj(H,property,value,...,property,value)
Hmatch = findobj(H,'-not',property,value)
Hmatch = findobj(H,'-regexp',property,value)
Hmatch = findobj(H,property,value,'-logicaloperator',property,value)
Hmatch = findobj(H,'-function',fh)
Hmatch = findobj(H,'-function',property,fh)
Hmatch = findobj(H,'-class',class)
Hmatch = findobj(H,'-isa',class)
Hmatch = findobj(H,'-property',property)
Hmatch = findobj(H,'-method',methodname)
Hmatch = findobj(H,'-event',eventname)
Hmatch = findobj(H,'-depth',d,___)
возвращает объекты, перечисленные в Hmatch = findobj(H)H и всех их потомках.
находит объекты Hmatch = findobj(H,property,value,...,property,value)handle, которые имеют заданный набор свойств к заданному значению.
инвертирует выражение в следующем Hmatch = findobj(H,'-not',property,value)property пара value. Таким образом, найдите объекты, заданное свойство которых не равно value.
обрабатывает содержимое аргумента Hmatch = findobj(H,'-regexp',property,value)value как регулярные выражения.
применяет логический оператор к парам имя/значение. Поддерживаемые логические операторы включают:Hmatch = findobj(H,property,value,'-logicaloperator',property,value)
'-or' (значение по умолчанию, если вы не задаете оператор),
'-and'
'-xor'
вызывает указатель на функцию Hmatch = findobj(H,'-function',fh)fh на объектах в H и возвращает объекты, для которых функция возвращает true.
вызывает указатель на функцию Hmatch = findobj(H,'-function',property,fh)fh на значении заданного свойства для объектов в H и возвращает объекты, для которых функция возвращает true. Функция должна возвратить скалярное логическое значение.
находит все объекты, принадлежащие заданному классу.Hmatch = findobj(H,'-class',class)
находит все объекты, принадлежащие заданному классу.Hmatch = findobj(H,'-isa',class)
находит весь объект в Hmatch = findobj(H,'-property',property)H, имеющем именованное свойство.
находит объекты, которые имеют заданное имя метода.Hmatch = findobj(H,'-method',methodname)
находит объекты, которые имеют заданное имя события.Hmatch = findobj(H,'-event',eventname)
задает сколько уровней в иерархиях экземпляра под объектами в Hmatch = findobj(H,'-depth',d,___)H, чтобы искать.
Задайте весь -options как векторы символов или представьте скаляры в виде строки.
Найдите объект с определенным значением свойства. Учитывая класс handle, BasicHandle:
classdef BasicHandle < handle properties Prop1 end methods function obj = BasicHandle(val) if nargin > 0 obj.Prop1 = val; end end end end
Создайте массив объектов BasicHandle:
h(1) = BasicHandle(7); h(2) = BasicHandle(11); h(3) = BasicHandle(27);
Найдите указатель объекта, свойство Prop1 которого имеет значение 7:
h7 = findobj(h,'Prop1',7);
h7.Prop1
ans =
7Найдите объект с определенным динамическим свойством. Учитывая класс button:
classdef button < dynamicprops properties UiHandle end methods function obj = button(pos) if nargin > 0 if length(pos) == 4 obj.UiHandle = uicontrol('Position',pos,... 'Style','pushbutton'); else error('Improper position') end end end end end
Создайте массив объектов кнопки, только один элемент которых задает динамическое свойство. Используйте findobj, чтобы получить указатель объекта с динамическим свойством под названием ButtonCoord:
b(1) = button([20 40 80 20]); addprop(b(1),'ButtonCoord'); b(1).ButtonCoord = [2,3]; b(2) = button([120 40 80 20]); b(3) = button([220 40 80 20]); h = findobj(b,'-property','ButtonCoord'); h.ButtonCoord
ans =
2 3findobj имеет доступ только к общедоступным участникам.
Если нет никаких соответствий, findobj возвращает пустой массив того же класса как входной массив H.
Приоритет логических операторов следует правилам приоритета MATLAB. Для получения дополнительной информации см. Приоритет операторов.
Управляйте приоритетом путем группировки в массивах ячеек