日期:2014-05-20  浏览次数:20811 次

关于接口和继承,你怎么说~~
接口足够灵活,继承稍显死板,在应用中各有千秋,有没有牛人说说两者的优缺点,什么时候继承好过接口,什么时候接口好过继承~~

------解决方案--------------------
引用:
什么时候放辣椒,什么时候放辣椒油??

这种问题有标准答案么?


我想说“思想方法”是一个似是而非的东西,程序员编码是一种反复的训练的过程,才能达到和语言的磨合。就好比语法是什么东西?中国人不懂英语才要学,美国的老太不知道语法是什么,却说得英语更纯正。如果你纠结在什么东西有什么优势,什么时候用什么之类的概念,只能说明你完全没有入门,没有写过程序。

这种问题有没有“标准答案”,你不能说有,也不能说没有。说有是因为,以.net为例,.net的框架库、微软的库,以及大量的.net源代码编织出一个编码的最佳实践的无形的最佳实践的大框架。如果你没有足够的阅读和编码的经验,或者你的阅读和编码停留在培训班和作坊,你感受不到这种约定和最佳实践,那么你随心所欲地写程序,写出来的就不地道。如同虽然我们不能从理性上说出地道的汉语发音是什么,但是一个老外一张口,他的不地道就能被每个中国人感觉到。说没有标准答案是因为,你没有办法用简单的判断和规则去定义什么是标准。这里面有太多的例外。如同一本语法书规定的“标准”不得不为真实使用的语言而添加例外一样,而这种例外永远也添加不完。
------解决方案--------------------
C++提出了多继承这个概念,但是他们发现多继承确实不好,于是,用接口代替了多余的父类,因为同样的属性的方法定义在一个父类里就好了,接口可以方便的接上和切除。
要说继承的话体现的是相同,那么接口体现的是即相同,又非常不同。