【发布时间】:2011-03-17 09:34:40
【问题描述】:
我试图弄清楚为什么复合比简单继承更好。
例如,假设我们要实现一个文件系统。
所以基本上我们需要文件和文件夹。
我们可以使用复合模式,而File 和Folder 类继承基接口,Folder 类持有接口类型集合。
但看起来(无论如何对我来说)简单的继承可以做同样的事情。
如果File 是根类并且Folder 继承自File,则Folder 可以保存Files 的集合,故事结束。
我错过了什么吗?
【问题讨论】:
-
答案在某种程度上取决于所使用的语言。您对哪种语言或一组语言感兴趣?
-
在某些语言中没有多重继承。您的建议剥夺了您从 File 以外的任何东西继承 Folder 某些功能的机会。
-
目前我使用的是c#(或java)
标签: design-patterns