Say my BasicLinkedList(BLL(具有以下基本方法:
-insert at the head, tail, anywhere
-delete at the head, tail, anywhere
我想知道是否应该使用组合或继承从BLL创建DLL。
我的想法过程:
我的猜测是阅读有效Java项目#18(第三版(时的合成:比起继承,更喜欢合成。
但这里的组合感觉不太好,因为我不知道如何将指向前一个节点的指针与委托结合起来。
然后我读了Liskov替代原理(LSP(,似乎继承是正确的选择?但我不确定。
问题(总结(:我应该使用组合还是继承从BLL创建DLL?为什么?
"偏爱组合而非继承";并不意味着您永远不应该使用继承,而且继承总是不好的。在这种特殊情况下,最好使用继承来访问必要的类变量和方法。