说我有
classdef A < matlab.mixin.Copyable & matlab.mixin.Heterogeneous
.
.
classdef B < A
.
.
classdef C < A
我想要的是能够通过仅复制A属性来构建基于B实例的C实例。而且我宁愿不实现自定义mycopy
方法,因为每次我向A添加属性时都需要更新它。
我尝试修改B的copyElement()
以便它只调用A的copyElement()
,但是(不出所料)仍然返回了B类的对象。
请注意,我的“转换”与大多数问题(SO和Google)的方向相反,后者从超类复制到子类。也许出于一些概念上的原因,我想要的是一个坏主意。然而,正如它所说here
类设计中的一个重要概念是子类对象也是其超类的对象。
我知道我可以从超类中构造一个子类对象。