У меня есть следующая проблема. У меня есть три класса: A, B и C. A - это базовый класс, B наследует A и C наследует B.Вызов суперкласса MATLAB суперкласса конструктора
У каждого есть конструктор, который принимает много аргументов. Тем не менее, конструктор для B выполняет несколько шагов, которые мне не нужны в C, которые я не могу отменить, если я не добавлю больше кода интерфейса, который бы разрушил инкапсуляцию для нескольких переменных. А именно, я бы дал пользователю моего класса возможность изменить несколько переменных, которые я им не хочу.
В результате я думал, что буду умным и попробую назвать конструктор A с C. Однако MATLAB это не нравится. См. Код ниже.
classdef C < B
% properties go here
% ...
methods(Access = public)
function obj = C(arguments)
obj = [email protected](A's arguments); % MATLAB doesn't like this
% ...
end
end
Итак, как я могу (или не могу), вызвать конструктор в A?
ничего себе, как я пропустил это! Благодаря! Конечно, B "является" A, но C "не является" B. Спасибо за улов! –