从基本链表创建双向链表DLL-组成还是继承?

问题描述

说我的BasicLinkedList(BLL)具有以下基本方法:

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

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

我的思想过程:

我的猜测是通过阅读有效的Java项目#18(第3版):赞成继承而不是继承来实现的。

但是这里的组合感觉不正确,因为我不知道如何通过委派将指向先前节点的指针合并进来。

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


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

解决方法

“优先考虑继承而不是继承”并不意味着您永远不要使用继承,并且继承永远是不好的。在这种情况下,最好使用继承来访问必要的类变量和方法。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...