【发布时间】:2013-12-25 04:00:31
【问题描述】:
我有以下问题。我有三个类:A、B、C。A是基类,B继承A,C继承B。
每个都有一个构造函数,它接受很多参数。但是,B 的构造函数执行了一些我不希望在 C 中执行的步骤,除非我添加更多接口代码,否则我无法撤消这些步骤,这会破坏一些变量的封装。也就是说,我会让我的班级的用户能够更改一些我不希望他们更改的变量。
因此,我认为我会很聪明,并尝试从 C 调用 A 的构造函数。但是 MATLAB 不喜欢这样。请参阅下面的代码。
classdef C < B
% properties go here
% ...
methods(Access = public)
function obj = C(arguments)
obj = obj@A(A's arguments); % MATLAB doesn't like this
% ...
end
end
那么,我怎样才能(或不能)调用 A 的构造函数?
【问题讨论】:
标签: matlab oop inheritance constructor