不同角度来理解面向对象的几个关键性概念

dunai认为:抽象类是提取具体类的公因式,而接口是为了将一些不相关的类“杂凑”成一个共同的群体。至于他们在各个语言中的句法,语言细节并不是我关心的重点。

Artech认为:所代码共用和可扩展性考虑,尽量使用Abstract Class。当然接口在其他方面的优势,我认为也不可忽视。

shenfx认为:当在差异较大的对象间寻求功能上的共性时,使用接口;当在共性较多的对象间寻求功能上的差异时,使用抽象基类。

这都是做过面向对象编程的程序员实际体会。

这样来理解抽象类和接口,是不是更形象一点呢!

我来做个总结:

抽象类是老祖宗的遗传基因,大家都一样,而接口则是同一家族下的差异化体现。

老祖宗遗传的基因决定,我们都有是高智慧动物,都能直立走路,都能思考,这就是抽象类中的东西

人类都有个鼻子,耳朵,心脏等,他们都有同样的功能,这也是抽象类的东西。

人有高矮肥瘦,这就是接口的东西了,接口让你可以使得对象具有同一样子但是表现并非完全一样!

你可能感兴趣的:(不同角度来理解面向对象的几个关键性概念)