Вам не нужно определять сеттеры или геттеры для свойств в MATLAB.Преобразование вашего класса в MATLAB будет выглядеть следующим образом:
classdef Celsius
properties
temperature = 0
end
methods
function obj = Celsius(temperature)
if nargin < 1
return
end
obj.temperature = temperature;
end
function val = toFahrenheit(obj)
val = obj.temperature * 1.8 + 32;
end
end
end
Если вы хотите скрыть получатель свойств, вы можете добавить атрибут GetAccess
:
properties (GetAccess = private) % or `SetAccess = private` to hide the setter, and `Access = private` to hide both the setter and getter
temperature = 0
end
Чтобы использовать класс:
myCelsiusObject = Celsius(); % initialise the object with temperature = 0.
myCelsiusObject = celsius(10); % initiliase the object with temperature = 10.
currentTemperature = myCelsiusObject.temperature; % get the value of the temperature property.
currentFahrenheit = myCelsiusObject.toFahrenheit; % get fahrenheit.
myCelsiusObject.temperature = 1; % set the value of the temperature property to 1.
Еще о методах получения и установки в MATLAB
MATLAB имеет методы получения, но они используются как для так называемых Dependent
свойств, значение которых равнорассчитывается автоматически в функции геттера.Подробнее об этом см. эту документацию .
Сеттеры в MATLAB могут использоваться в открытых свойствах для проверки входного значения.См. эту документацию
Я бы также рекомендовал вам прочитать полную документацию , если вы собираетесь больше заниматься объектно-ориентированным программированием в MATLAB.