![]() |
1
10
听起来你在那里没有一个真正的继承关系-它中断了 Liskov's Subtitutability Principle 因为如果没有额外的知识,您不能像使用父级的实例那样使用这个“子级”。 如何使“child”类不是从“parent”派生的,而是在子类上提供一个方法 创造 父类的某个子类的实例,哪个子类“知道”适当的额外信息位?如果你能给我们更多关于类正在做什么的信息,我们可以给我们更多关于代码可能是什么样子的具体例子。 编辑:在不了解更多关于你正在做什么的情况下,很难做到更清楚,但类似于:
那
|
![]() |
2
5
虽然同意Jon关于继承模型被破坏的观点,但是您 可以 通过使用特殊的参数对象来处理类似的场景。也就是说,没有方法:
你有一个物体
这样,您就可以向参数对象添加参数,而不影响或更改接口和实现的方法。 如果我正在写一个方法,而且参数的数量似乎过多, 和 我相信我的封装不会以任何方式被破坏(当方程/模型需要大量输入时,在金融软件中会发生很多这种情况),然后我发现上面的模式非常有用。 |
![]() |
3
0
你甚至可以进一步扩展
这样你
|
![]() |
Brendan · Java中从父类继承的对象的ArrayList 2 年前 |
![]() |
Tali · 继承-您应该使用基类,还是它们只是子类的框架? 3 年前 |
![]() |
mask2 · 如何轻松访问继承类的功能? 3 年前 |
![]() |
Dimon · 父类中的Setter,以及一些没有参数的子类 3 年前 |
![]() |
Miguerurso · Javascript类继承无法正常工作 3 年前 |
![]() |
GuessMe · 返回新类对象的正确方法(也可以扩展) 3 年前 |
![]() |
Daniel Lizik · 重写父类构造函数的子类成员初始值设定项 3 年前 |
![]() |
i_know_what · 以基类作为参数重写错误的方法 3 年前 |