J'essayais un exemple simple pour l'héritage dans MATLAB.MATLAB Héritage - Qu'est-ce que je fais mal?
J'ai 2 fichiers Man.m et Worker.m comme suit:
classdef Man
properties
salary;
age;
end
methods
function obj=Man(s,a)
obj.salary=s;
obj.age=a;
end
function monthly_salary=FactorBy12(obj)
monthly_salary=obj.salary/12;
end
end
end
et
classdef Worker < Man
properties
years_at_organization;
end
methods
function obj=Worker(y,s,a)
obj.years_at_organization=y;
obj.salary=s;
obj.age=a;
end
function bonus=BonusToBeGiven(obj)
bonus=obj.years_at_organization;
end
end
end
Je suis en train d'hériter de tous Man
en Worker
, mais il continue à jeter une erreur à moi. L'homme (5,6) fonctionne mais le travailleur (5,6,7) ne fonctionne pas. (Input argument "s" is undefined.
)
Comme si je fais quelque chose d'aussi simple que
classdef Woman < Man
end
qui, selon this guide est valide.
Qu'est-ce que je fais mal?
suggestion: vous pouvez faire Classe 'Man' un handle-class au lieu d'une classe de valeur, en héritant de 'handle':' classdef Man
Amro