Sup*_*eme 5 java oop inheritance
我知道Java中继承的优点,但我有点难以接受它也有缺点.任何人都可以在Java中给我一个糟糕的继承示例吗?
Boz*_*zho 7
Stack extends Vector
Properties extends Hashtable
有关Java的报价,请参阅此答案.
Stack通过使用已经实现的内容Vector(同样适用于Properties)来编写实现很容易,但它创建了问题 - 请参见此处
Stack
Vector
Properties
kro*_*ock 5
一个例子是实现常量接口(仅包含不可变字段的接口)的旧模式,然后希望使用这些常量的类将实现此接口以方便起见.问题是您的类现在继承了此接口的API,并且其设计的扩展可能会在将来损害您的API.
如今,以这种方式使用恒定接口通常被认为是反模式.从Java 5开始,您可以使用枚举而不是充满常量和静态导入的接口,而不是定义常量接口.
来自Josh Bloch的Effective Java:
常量接口模式是接口的不良使用.类在内部使用一些常量是一个实现细节.实现常量接口会导致此实现细节泄漏到类的导出API中.
归档时间:
14 年,11 月 前
查看次数:
3093 次
最近记录: