标签: java oop design-patterns
我正在研究模式,我对Prototype模式(对象组合)和内存占用有疑问。
这种模式是Java中缺少多重继承的可能解决方案,但我们假设Java有多重继承。
在Prototype模式中使用接口的实现,比为内存进行多重继承更有效吗?
在子类上做“扩展”,在内存占用方面与在该子类上实例化新对象相同吗?
答案 0 :(得分:0)
每个Java对象都有一个header,所以我会假设'嵌入'超类对象比在另一个对象中组合时消耗更少的内存(在第一种情况下,它们共享相同的对象标题)。此外,在组合的情况下,父组件具有对组合对象的引用(指针)。
所以,我会说"实现"效率较低,但我很难想到一个在实践中这很重要的用例。
PS我没有看到你的问题与Prototype模式有什么关系。