超类型
Head First Design Pattern里边统称抽象类和接口为超类型,很多时候大佬们也乐意“统称”Abstact Class和Interface为接口,比如他们说“针对接口编程”,我信了。(语义的表达有时令人惆怅....)
今天统观Review一下它们,循例,Google。
About Abstact Class:http://www.cnblogs.com/flyinthesky/archive/2009/09/25/1574143.html
Abstact and Interface:http://www.cnblogs.com/thcjp/archive/2007/04/11/709395.html
Compare Abs. Class With Interface:http://tech.ccidnet.com/art/3737/20060512/550983_1.html
Virtual Method说:“在一起”......http://blog.sina.com.cn/s/blog_4a93ccea0100cwqv.html
麻烦大了?!
什么时候使用抽象类?什么时候使用Interface?http://dev.yesky.com/436/7581936.shtml
套用一下Head First Design Patterns的说辞:有一只两只脚活生生的鸭子会呱呱叫,还有一只高仿真电子鸭也会呱呱叫,再还有一个闹钟也会呱呱叫,代码表达之。前两句的时候想到用一只“超鸭”超类型之,定义一个Abstact Quack()由派生类自己去折腾实现,针对接口编程了呀!没想到后面跳出来一个闹钟,这下不好了,出现闹钟也被划分为鸭子(超鸭)的闹剧。这下只好改用Interface了,惨了,代码修改不要太多,天知道客户怎么突然提单过来说他们家的闹钟会呱呱叫的?