MATLAB: ошибка, когда я пытаюсь получить доступ к свойству объекта
Это ошибка, которую он возвращает: вы не можете получить свойство 't' в Planet.
Ошибка в Problem4dot10 (строка 12) name=mercury.t(mercury);
Я создал функции getter для возврата свойств класса planet:
methods %for getter functions
function t=get.t(obj)
t=obj.t;
end
function r=get.r(obj)
r=obj.r;
end
function x=get.x(obj)
x=obj.x;
end
function y=get.y(obj)
y=obj.y;
end
function vx=get.vx(obj)
vx=obj.vx;
end
function vy=get.vy(obj)
vy=obj.vy;
end
function n=get.n(obj)
n=obj.n;
end
function n=get.Name(obj)
n=obj.Name;
end
end
И я вызвал геттер из файла Problem4dot10.m:
mercury=Planet(1,0.002,0,2*pi,1,0,'Mercury');
mercury.sett(60);
name=mercury.t(mercury);
Я посмотрел на документацию, чтобы попытаться выяснить это. Я пытаюсь создать класс планет, который отслеживает положение планеты, а также вычисляет, где находится планета в следующем шаге по времени. Затем предполагается, что это новое состояние.
1 ответ
Мне кажется, что t
собственность частная Вы можете сделать это публично, используя, например:
properties(SetAccess = public, GetAccess = public)
t = 0;
end
или же
properties(Access = public)
t = 0;
end
Также вам не нужно проходить mercury
в т метод геттера. name=mercury.t;
должно быть достаточно.