抽象类与接口的个人看法

抽象类abstract和接口interface是我们在面向对象编程中频繁使用的概念,但是好多人当然也包括我对抽象类和接口的区别一直也搞不清楚,现在对这两个概念有了一点点的认识,分享出来:

1、类是对对象的抽象,抽象类是对类的一种抽象,主要是做我们自己编写代码的最顶层的父类使用(当然了Object类除外),而接口我认为主要是对方法的一种抽象。

2、抽象类可以包含对类(属性、方法)的部分实现,而接口不能包含对方法的实现。

3、抽象类是对类的一种纵向的表示,如祖类----父类-----子类------孙类等等,主要体现在这一系列的相似度上,有共同的特征,就像存在血缘关系一样,所以叫继承

接口我认为是一种横向的的发展,他是在上面的继承链上添加自己的个性,异于其他类的地方,它可以将不同的类联系起来,

如两个类:植物类、动物类

植物类------陆生植物-------被子植物------苹果

动物类------陆生动物--------哺乳动物-----人

这两个类如果不用Object来扯上关系,那么就可以用接口来联系起来,如都需要氧气等这个接口(不要说有不需要氧气的植物和动物,我们只考虑氧气),所以说接口可以跨越种族(不同类)之间的界限。

你可能感兴趣的:(抽象类,接口,C#,C#,区别,看法)