的属性和方法的访问Stateflow对象
属性和方法的命名约定
按照惯例,所有属性以大写字母开头,例如,属性的名字
。然而,如果一个属性由连接词、单词后第一个单词大写,例如,属性LabelString
。同样的命名约定适用于方法,除了方法名必须以字母开头小写;例如,方法找到
。
使用点符号的属性和方法
您可以访问对象的属性和方法通过添加一个时期(。
)和属性或方法的名称的一个对象的句柄变量。例如,该命令返回属性类型为对象所代表的处理状态年代
:
药栓= s.Type;
这个命令调用对话框
方法的对象年代
打开属性对话框,状态:
s.dialog;
嵌套点符号
您可以嵌套小点表情在较大的点属性的表达式。例如,图表
属性的一个状态对象返回的图表对象,其中包含图表。因此,表达式s.Chart.Name
返回表的名称,其中包含对象的状态年代
。
方法也可以嵌套在点表情。例如,如果状态对象sA1
代表国家A1在一个图表,这个命令返回状态的标签A1的内心向亚态A11过渡。
标签= sA1.innerTransitions.LabelString;
前面的命令使用LabelString
对象和属性的一个过渡innerTransitions
一个状态对象的方法。命令的工作原理如图所示,只有当国家A1有一个内在的转变。如果状态A1有多个转换,您必须首先找到所有内部转换,然后使用一个数组索引来访问每一个:
innerTransitions = sA1.innerTransitions;label1 = innerTransitions (1) .LabelString;label2 = innerTransitions (2) .LabelString;
使用函数符号访问方法
点符号作为一种替代方法,您可以访问对象方法与标准函数调用符号。例如,您可以使用得到
方法访问一个图表对象的名称属性,ch
通过这些命令之一:
name = ch.get('名称');name =得到(ch '名称');
如果你有数组参数方法调用,使用功能符号。这个例子中返回一个单元阵列特征向量的每个表的名字图表对象的数组中chartArray
:
名称=得到(chartArray '名称');
相反,如果您试图使用得到
命令这个点符号,一个错误的结果:
名称= chartArray.get('名称');