从基本链表组合或继承创建双链表(DLL)



Say my BasicLinkedList(BLL(具有以下基本方法:

-insert at the head, tail, anywhere
-delete at the head, tail, anywhere

我想知道是否应该使用组合或继承从BLL创建DLL。

我的想法过程:

我的猜测是阅读有效Java项目#18(第三版(时的合成:比起继承,更喜欢合成

但这里的组合感觉不太好,因为我不知道如何将指向前一个节点的指针与委托结合起来。

然后我读了Liskov替代原理(LSP(,似乎继承是正确的选择?但我不确定。


问题(总结(:我应该使用组合还是继承从BLL创建DLL?为什么?

"偏爱组合而非继承";并不意味着您永远不应该使用继承,而且继承总是不好的。在这种特殊情况下,最好使用继承来访问必要的类变量和方法。

最新更新