Предположим, у меня есть следующий класс:
classdef myClass < handle
properties
A = 1
end
methods
function obj = myClass(val)
obj.A = val;
end
end
end
Допустим, я создаю экземпляр этого класса, затем немного манипулирую им, а затем копирую. Поскольку это класс-дескриптор, «копия» на самом деле является просто еще одним экземпляром того же объекта:
>> q = myClass(10);
>> q.A = 15;
>> w = q;
>> disp(w.A)
15
Но я бы хотел посмотреть A
без необходимости создавать экземпляр myClass. Наивное выполнение
>> value = w.A
не работает, поскольку это просто копирует значение; изменение wA
позже не изменит значение
.
Есть ли способ предоставить «указатель» или «ссылку» на wA
без необходимости создавать отдельный класс ручки? Я бы предпочел сохранить обозначение w.A
, а не что-то вроде w.A.value
(при этом мне нужно создать класс дескриптора, содержащий это значение).
РЕДАКТИРОВАТЬ: Я использую эту функциональность, чтобы помочь инкапсулировать свой код для использования в моей исследовательской лаборатории. Я разрабатываю интерфейс между MATLAB и Arduino для управления воздушными и наземными транспортными средствами; Я надеялся получить доступ к таким материалам, как « vehicle.pwmMax
», « vehicle.flightCeiling
» и т. Д., Чтобы инкапсулировать базовый объект: « vehicle.Globals.pwmMax.value
"и т. Д.