我有一个对象已被实例化为从串行NIRFlex
类继承的类。当我尝试从命令行为属性分配值时:0
Text_mode
>> N.Text_mode = 0
我收到以下错误:
Error using serial/subsasgn (line 146)
The name 'Text_mode' is not an accessible property for an instance of class 'serial port objects'.
我的类定义、构造函数和set方法如下:
classdef NIRFlex < serial
properties
Text_mode
end
methods
function obj = NIRFlex(port)
obj = obj@serial(port);
end
function obj = set.Text_mode(obj,mode)
if (mode == 1)||(mode == 2)
obj.Text_mode = mode;
else
error('Invalid Text Mode');
end
end
end
end
如果我删除该set
方法,我可以在命令行为该属性分配任意值,Text_mode
但我需要确保输入的值仅为1
or 2
。
我查看了带有属性的内置类型的子类文档@ MathWorks,但找不到答案。