![]() |
1
9
这样做会违反法律
Liskov substitution principle
,通常是设计有问题的标志。一般来说,任何子类都应该能够在基类所属的任何上下文中使用。如果
|
![]() |
2
5
Liskov's Subsitution Principle . 基本上,你可以添加东西,但不能将它们拿走。 您可能会重写该属性以在执行时抛出异常,但不能在编译时执行。 一般来说,如果你不同意这种事情,你应该考虑组合而不是继承,因为你没有真正的继承关系。 |
![]() |
3
2
您可以创建基类属性
请注意,这不会阻止铸造。 |
![]() |
4
1
和大多数事情一样,这要看情况而定。鉴于以下类别:
以及以下代码:
根据上面的评论,您可以看到 可以 改为修复您的祖先类。 |
![]() |
5
0
|
![]() |
6
0
不,你不能这样做,你也不想这样做——要么经理是员工,有经理和助理,要么没有,因此应该有不同的基类,即这种情况表明存在设计缺陷。一种可能是为这些属性返回null,不过如果这对域有意义的话。 |
![]() |
Brendan · Java中从父类继承的对象的ArrayList 2 年前 |
![]() |
Tali · 继承-您应该使用基类,还是它们只是子类的框架? 2 年前 |
![]() |
mask2 · 如何轻松访问继承类的功能? 2 年前 |
![]() |
Dimon · 父类中的Setter,以及一些没有参数的子类 2 年前 |
![]() |
Miguerurso · Javascript类继承无法正常工作 2 年前 |
![]() |
GuessMe · 返回新类对象的正确方法(也可以扩展) 2 年前 |
![]() |
Daniel Lizik · 重写父类构造函数的子类成员初始值设定项 2 年前 |
![]() |
i_know_what · 以基类作为参数重写错误的方法 2 年前 |