Изменение свойств класса с помощью его методов
Я хотел бы изменить свойства моего класса с помощью метода, определенного для этого класса:
classdef triangle<handle
properties
a
h
end
methods
function obj = triangle()
obj;
end
function obj = setProps(obj, a, h)
obj.a = a;
obj.a = h;
end
end
end
Вызов:
t = triangle();
t.setProps(a, h);
Это не работает вообще - я получаю эту ошибку:
The class 'handle' is not a super-class of class 'triangle', as required to invoke a super-class constructor or method.
Error in triangle (line 13)
function obj = triangle()
Я использую Matlab 2012a. Мой код основан на этом примере: ссылка
1 ответ
Решение
Пытаться clear
перед этим Возможно, вы перезаписали handle
с чем-то. В противном случае это работает для меня на Matlab 2012a:
clear;
a = 'hello';
h = 1;
t = triangle();
t.setProps(a, h);