问题描述
说我的BasicLinkedList(BLL)具有以下基本方法:
-insert at the head,tail,anywhere
-delete at the head,anywhere
我想知道是否应该使用组成或继承从BLL创建DLL。
我的思想过程:
我的猜测是通过阅读有效的Java项目#18(第3版):赞成继承而不是继承来实现的。
但是这里的组合感觉不正确,因为我不知道如何通过委派将指向先前节点的指针合并进来。
然后我阅读了 Liskov替换原理(LSP),似乎继承是正确的选择?但是我不确定。
问题(总结): 我应该使用合成还是继承从BLL创建DLL?为什么?
解决方法
“优先考虑继承而不是继承”并不意味着您永远不要使用继承,并且继承永远是不好的。在这种情况下,最好使用继承来访问必要的类变量和方法。