Matlab:如何调用我在类中定义的函数?
我正在尝试学习如何使用Matlab中的类,以前从未在任何语言中使用过它们,如果这是一个有点基本的问题,我深表歉意 我定义了一个名为Matlab:如何调用我在类中定义的函数?,matlab,oop,Matlab,Oop,我正在尝试学习如何使用Matlab中的类,以前从未在任何语言中使用过它们,如果这是一个有点基本的问题,我深表歉意 我定义了一个名为car的类,它具有颜色、类型、序列号和速度等属性,并具有更改速度的功能 classdef car <handle properties colour type speed end properties (SetAccess = private) SerialNumber end me
car
的类,它具有颜色、类型、序列号和速度等属性,并具有更改速度的功能
classdef car <handle
properties
colour
type
speed
end
properties (SetAccess = private)
SerialNumber
end
methods
function faster(obj, v)
obj.speed = obj.speed + v;
end
end
end
我使用与本问题相同的代码结构构建了类和方法:
那里的用户似乎没有我做的问题。我不确定哪里出了问题——我的函数似乎应该可以工作。有人能告诉我正确的方向吗?您需要调用类上的函数
myCar = car();
myCar.faster( 10 ); % equivalent to 'faster( myCar, 10 )'
如果没有指定
类型,还需要将其分配回类,即
myCar = myCar.faster( 10 );
但是你不需要在
句柄
类中使用它。请不要从不确定来源的随机示例中学习编程,也不要通过提问等方式学习编程。相反,买本书,或者阅读MATLAB提供的精彩文档:myCar。更快(10)
与faster(myCar,10)
相同,但我认为后者更自然,尤其是在处理非句柄类时。@Crisfaster(myCar,10)
在开始重载函数时也更自然,使语法保持不变。虽然我认为点表示法使它乍一看更加明确,faster
函数(在本例中)是在该类(或包)中实现的。我同意这一点。
myCar = myCar.faster( 10 );