我发现了一些相关的问题,但在那里并没有真正找到答案。
我正在编写一个简单的 MATLAB 小类,以便在 MATLAB 中学习 OOP 语法。我对 Python 非常熟悉,并且在尝试使用 MATLAB 时竭尽全力。这是定义:
classdef Car < handle
properties
speed = [0,0] %x,y velocity
position = [0,0]
running = false
end
methods
function obj = Car(pos, spd)
obj.position = pos;
obj.speed = spd;
end
function accelerate(obj,x,y) % Add to speed
obj.speed = obj.speed + [x,y]
end
function position = getPosition(obj)
position = obj.position
end
function start(obj)
obj.running = true
end
function stop(obj)
obj.running = false
end
end
end
这当然没有完成,但后来我使用了一个小脚本来弄乱对象:
foo = Car([1,1],[0,2])
foo.start
foo.accelerate(2,3)
实例化有效,但我调用的任何方法都会引发错误。foo.start,例如:
Error using Car/start
Too many input arguments.
我错过了什么??