matlab.lang.OnOffSwitchState 类
包: matlab.lang
使用逻辑值表示开关状态
说明
matlab.lang.OnOffSwitchState
是从 logical
类派生的枚举类。使用该类指定接受值 'on'
和 'off'
以及逻辑值 true
、false
、1
或 0
的属性的数据类型。
使用该类将属性值限制为以下任一值:
类 | 逻辑 True | 逻辑 False |
---|---|---|
字符向量 |
|
|
字符串标量 |
|
|
逻辑值 |
|
|
逻辑值与数值 |
|
|
枚举成员 |
|
|
由于 OnOffSwitchState
派生于 logical
类,因而您可以在逻辑表达式中使用这些枚举成员。
枚举成员
off | 逻辑 false |
on | 逻辑 true |
示例
允许属性值为逻辑值或 on/off
创建一个类来表示计算机的状态,该计算机的电源和监视器可以单独打开和关闭。使用 OnOffSwitchState
定义这些属性的类。
classdef SystemState properties Power matlab.lang.OnOffSwitchState = 'off' Monitor matlab.lang.OnOffSwitchState = 'off' end methods function val = isOn(obj) if ~(obj.Power && obj.Monitor) val = matlab.lang.OnOffSwitchState.off; else val = matlab.lang.OnOffSwitchState.on; end end end end
创建一个 SystemState
对象并将属性值设置为 'on'
。
a = SystemState; a.Power = 'on'; a.Monitor = 'on';
调用 isOn
方法以确定系统的状态。该方法返回 OnOffSwitchState
枚举提供的逻辑值。
if isOn(a) ...% System is ready to use end
详细信息
特殊串联行为
OnOffSwitchState
类使您能够通过串联枚举成员与字符向量或字符串来构建文本表达式。例如,如果名为 Power
的对象属性包含 OnOffSwitchState
类的枚举成员,则可以使用字符向量和属性值构成一个字符数组:
a = SystemState; a.Power = true; ['The power switch is currently ' a.Power]
ans = 'The power switch is currently on'
通常,当通过将字符向量或字符串与枚举成员串联来构成数组时,MATLAB® 会尝试将文本转换为枚举成员的类。但是,OnOffSwitchState
类定义了特殊行为,即支持在文本与类定义的枚举成员不对应的情况下串联枚举成员和文本。在这些情况下,MATLAB 创建与文本具有相同类型的数组。
MATLAB 在将字符向量或字符串与 OnOffSwitchState
类的枚举成员串联时应用下列规则。
如果所有数组元素都是
OnOffSwitchState
枚举成员或字符向量,则所有枚举成员都转换为其char
等效表示形式。生成的数组的类型是char
。如果数组元素包括
OnOffSwitchState
枚举成员和字符串,则所有枚举成员都转换为其string
等效表示形式。生成的数组的类型是string
。如果数组元素包括
OnOffSwitchState
枚举成员、字符串和字符向量,则所有枚举成员和字符向量都将转换为其string
等效表示形式。生成的数组的类型是string
。在其他所有情况下,适用正常串联规则。有关详细信息,请参阅Concatenating Objects of Different Classes。
版本历史记录
在 R2017a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)