Доступ к свойствам и методам объектов Stateflow

Соглашения о присвоении имен для свойств и методы

Условно, все свойства начинаются с прописной буквы, например, свойства Name. Однако, если свойство состоит из конкатенированных слов, слова после первого слова использованы для своей выгоды, например, свойство LabelString. То же соглашение о присвоении имен применяется к методам, за исключением того, что имя метода должно начаться с буквы в нижнем регистре; например, метод find.

Используя запись через точку со свойствами и методами

Можно получить доступ к свойствам и методам объекта путем добавления периода (.) и имя свойства или метода в конец переменной указателя объекта. Например, эта команда возвращает свойство Type для объекта State, представленного указателем s:

stype = s.Type;

Эта команда вызывает метод dialog объекта State s, чтобы открыть диалоговое окно свойств для того состояния:

s.dialog;

Вложенная запись через точку

Можно вложить меньшие точечные выражения в больших точечных выражениях свойств. Например, свойство Chart объекта State возвращает Объект диаграммы содержания графика. Поэтому s.Chart.Name выражения возвращает имя графика, содержащего состояние, объектом которого является s.

Методы могут также быть вложены в точечных выражениях. Например, если объект State, sA1 представляет A1 состояния в графике, эта команда, возвращает метку для внутреннего перехода A1 состояния к A11 подсостояния.

label = sA1.innerTransitions.LabelString;

Предыдущая команда использует свойство LabelString Объекта перехода и метода innerTransitions для объекта State. Команда работает как показано только, когда A1 состояния имеет один внутренний переход. Если A1 состояния имеет больше чем один переход, необходимо сначала найти все внутренние переходы и затем использовать индекс массива, чтобы получить доступ к каждому:

innerTransitions = sA1.innerTransitions;
label1 = innerTransitions(1).LabelString;
label2 = innerTransitions(2).LabelString;

Методы доступа Используя функциональное обозначение

Как альтернатива записи через точку, можно получить доступ к методам объекта с обозначением вызова стандартной функции. Например, можно использовать метод get, чтобы получить доступ к свойству Name Объекта диаграммы, ch, посредством одной из этих команд:

name = ch.get('Name');
name = get(ch,'Name');

Если у вас есть аргументы Array к методам, вы вызываете, используете функциональное обозначение. Этот пример возвращает массив ячеек из символьных векторов с именами каждого графика в массиве Объектов диаграммы chartArray:

names = get(chartArray, 'Name');

Если, вместо этого, вы пытаетесь использовать команду get с этой записью через точку, ошибка заканчивается:

names = chartArray.get('Name');

Похожие темы