接口和抽象类

Posted 伏允坤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口和抽象类相关的知识,希望对你有一定的参考价值。

 接口用于规范,抽象类用于共性。

1、抽象类适用于同一系列,并且需要继承的成员。

2、接口适用于不同系列具有相同的动作(行为,动作,方法)

3、对于不同系列,单具有相同的行为,可以考虑使用接口。

4、接口解决了类不能多继承的问题。

5、类是对对象的抽象,可以把抽象类理解为把类当作对象,抽象成的类           

6、接口只是一个行为的规范或规定,证明其是表述一类类“我能做。。。”

7、抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中   

8、接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。

9、抽象类可以提供某些方法的部分实现,接口不可以。

10、抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。 

11、在抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。

12、接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。

13、接口不能包含字段、构造函数、析构函数、静态成员或常量。 

抽象类适用于:

   汽车→大众汽车

    汽车可以用抽象类来定义 同一系列

接口适用于:

   汽车有可以用来代步,自行车可以用来代步,人的双腿也可以用来代步代步这一行为出现在不同的对象,

  但是目的是相同的(行为是相同的)适用于接口。

以上是关于接口和抽象类的主要内容,如果未能解决你的问题,请参考以下文章

接口和抽象类

抽象类和接口的异同?

Dart9(九)抽象类、多态、 接口

java接口与抽象类有啥区别?

接口和抽象类的区别

接口和抽象类