码迷,mamicode.com
首页 > 其他好文 > 详细

接口与抽象类

时间:2019-04-09 00:21:42      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:.com   用户   重构   工具   rac   src   返回   public   基类   

抽象类:

  包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的。(否则编译器会报错)并不需要所有的方法都是抽象的。

  如果从一个抽象类继承,并想创建该新类的对象,那么就必须为基类中的所有抽象方法提供方法定义。如果不这样做(可以不这样做),那么导出类便也是抽象类,且编译器将会强制我们用abstract关键字来限定这个类。

  创建抽象类和抽象方法非常有用,因为他们能使类的抽象性明确起来,并告诉用户和编译器准备怎么使用他们。抽象类使很有用的重构工具,他们使得我们可以很容易地将公共方法沿着继承层次结构向上移动。

  abstract关键字允许人们在类中创建一个或多个没有任何定义的方法--提供了接口部分,但是没有提供任何相应的具体实现,这些实现是由此类的继承者创建的,且必须覆盖这些接口方法。

接口:

  Interface关键字产生一个完全抽象的类,他没有提供任何具体实现。他允许创建者确定方法名,参数列表和返回类型,但是没有任何方法体,接口只提供了形式而没有提供任何具体实现。

一个接口表示:“所有实现了某个特定接口的类看起来都是这样,他们都拥有这个接口的抽象行为”。接口用来建立类与类之间的协议。

  接口不仅仅是一个极度抽象的类,因为他允许人们通过创建一个能够向上转型为多种基类的类型,来实现某种相似于多重继承变种地特性。

  一旦实现了某一个接口,他就变成了一个普通的类。

  无论是否显示地声明,接口都是public的,在接口中被定义的方法也必须是public的;否则他们将只能得到默认的包访问权限,其可访问权限就降低了。

  相对于抽象类,接口可以更大程度的实现完全解耦。

 

技术图片

接口与抽象类

标签:.com   用户   重构   工具   rac   src   返回   public   基类   

原文地址:https://www.cnblogs.com/jhdcjh/p/10674208.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!