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

Вы управляете объектами Stateflow® API путем изменения их properties или вызова их methods.

Свойства соответствуют значениям, которые вы обычно устанавливаете для объекта через редактора Stateflow. Например, можно сменить положение состояния путем изменения Position свойство соответствующего State объект:

st.Position = [10 20 100 80];

Методы предоставляют услуги, которые обычно предоставляются редактором Stateflow. Например, можно удалить переход в графике путем вызова delete метод соответствующего Transition объект:

tr.delete;

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

Имена всех свойств API и методов используют Camel-регистр. Если имя состоит из двух или больше конкатенированных слов, слова после первого слова использованы для своей выгоды.

  • Имена свойства начинаются с прописной буквы. Например, State объекты имеют свойства под названием Name и LabelString.

  • Имена методов начинаются со строчной буквы. Например, Transition объекты имеют методы под названием dialog и fitToView.

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

Запись через точку

Чтобы получить доступ к свойствам и методам объекта, используйте запись через точку. Введите указатель для объекта, сопровождаемого периодом (.) и имя свойства или метода. Например, чтобы видеть значение StateMachineType свойство для Chart объект ch, Введите:

ch.StateMachineType

Чтобы открыть диалоговое окно Свойств диаграммы, вызовите dialog метод Chart объект:

ch.dialog

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

Чтобы получить доступ к подсвойствам свойства API, можно вложить несколько имен свойства в отдельном выражении, которое использует запись через точку. Например, можно установить точку останова записи на графике путем изменения подсвойства Debug.Breakpoints.OnEntry из соответствующего Chart объект:

ch.Debug.Breakpoints.OnEntry = true;

Когда свойство или метод возвращают указатель на другой объект API, можно также получить доступ к свойствам и методам для второго объекта при помощи вложенной записи через точку. Например, Machine свойство Chart возвращает указатель на машину Stateflow, которая содержит соответствующий график. Получить доступ к Name свойство этого Machine возразите, введите выражение:

machineName = ch.Machine.Name;

Точно так же defaultTransitions метод возвращает вектор из указателей на переходы по умолчанию в графике. Если график содержит только один переход по умолчанию, можно получить его метку путем ввода:

label = ch.defaultTransitions.LabelString;

Если график содержит больше чем один переход по умолчанию, необходимо сначала сохранить переходы по умолчанию и затем использовать индекс массива, чтобы получить каждую метку:

transitions = ch.defaultTransitions;
label1 = transitions(1).LabelString;
label2 = transitions(2).LabelString;

Обозначение вызова функции

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

ch.dialog                                      % dot notation
dialog(ch)                                     % function-call notation

Доберитесь и установленный значения свойств

Можно получить доступ к свойствам объекта API непосредственно или путем вызова get метод. Например, вы получаете описание для Chart объект ch с одной из этих команд:

description = ch.Description;                  % direct access
description = ch.get('Description');           % get method -- dot notation
description = get(ch,'Description');           % get method -- function-call notation

Точно так же можно изменить значение свойства непосредственно или путем вызова set метод. Например, вы изменяете описание Chart объект ch с одной из этих команд:

ch.Description = 'Half-wave rectifier.';       % direct access
ch.set('Description','Half-wave rectifier.');  % set method -- dot notation
set(ch,'Description','Half-wave rectifier.');  % set method -- function-call notation

Используйте get и set методы, чтобы получить доступ или изменить свойство для каждого объекта в массиве. Например, эти команды возвращают массив ячеек с именами каждого графика в массиве Chart объекты chartArray:

names = chartArray.get('Name');                % dot notation
names = get(chartArray,'Name');                % function-call notation

Отобразите свойства и методы

Отобразите информацию о свойстве

Чтобы отобразить информацию о свойствах API, можно использовать helpполучение, и classhandle методы.

help метод отображает имя и краткое описание каждого свойства объекта.

ch.help

get метод отображает список имен и значения свойств объекта.

ch.get

Можно также использовать get отобразить значения подсвойства объекта. Например, чтобы видеть значения подсвойств StateFont свойство Chart объект ch, Введите:

ch.StateFont.get

Можно отобразить другую информацию о свойствах объекта при помощи комбинации get и classhandle методы. Например, эта команда отображает список имен свойства и типы данных Chart объект:

ch.classhandle.Properties.get({'Name','DataType'})

Видеть поля, которые можно использовать с этим синтаксисом, введите:

ch.classhandle.Properties.get

Примечание

Некоторые свойства не имеют описаний. Когда свойство является достаточно описательным, соответствующее описание является пустым символьным вектором. Для получения дополнительной информации об этих свойствах смотрите Свойства и Методы, Отсортированные Объектом Stateflow.

Отобразите перечисляемые значения для свойств

Много свойств API принимают ограниченное количество возможных значений. Чтобы отобразить список приемлемых значений для свойства, вызовите set метод. Например, эта команда отображается, перечисляемые значения допускали Decomposition свойство Chart объект:

decompositionValues = ch.set('Decomposition')

Отобразите методы API

methods метод отображает список методов объекта.

ch.methods

Можно также использовать комбинацию get и classhandle методы, чтобы перечислить имена методов для объекта:

ch.classhandle.Methods.get('Name')

Примечание

methods списки методов некоторые внутренние методы, которые не документируются. Для списка всех зарегистрированных методов смотрите Свойства и Методы, Отсортированные Объектом Stateflow.

Смотрите также

| | | |

Похожие темы