接口与多态课件.pptxVIP

接口与多态课件.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
接口与多态 本章提要: 接口  塑型  多态  多态与构造方法 内部类 **6.1接口 接口(interface)是抽象的概念能深入了一层。可将其想象为一个“纯”抽象类。它允许创建者规定一个类的基本形式:方法的名称、参数列表、返回类型,但不能规定方法主体。接口也包含了数据成员,但它们都默认为static和final。接口只提供一种形式,并不提供实施的细节。6.1.1接口的作用及语法 1. 接口的作用java的接口也是面向对象的一个重要机制。它的引进是为了实现多继承,同时免除C++中的多继承那样的复杂性。接口中的所有方法都是抽象的,这些抽象法由实现这一接口的不同类来具体完成。在使用中,接口类的变量可以用来代表任何实现了该接口的类的对象,这就相当于把类根据其实现的功能来分别代表, **而不必顾虑它所在的类继承层次。这样可以最大限度地利用动态绑定,隐藏实现细节。接口还可以用来实现不同类之间的常量共享。人们常使用接口来建立类和类之间的“协议”。有些面向对象的程序设计语言采用了名为“protocol”(协议)的关键字,它做的便是与接口相同的事情。例6.1:接口举例。保险公司具有车辆保险、人员保险、公司保险等很多保险业务,这些保险业务的保险对象不同,但在对外提供服务方面具有相似性,如都需要计算保险费(premium)等,因此可以声明一个Insurable接口,接口中包含计算保险费所需要的方法,并使用不同的类如车辆类、人员类等分别实现这个接口。总地来说,接口本质上是一种特殊的抽象类,目的是用来实现多继承。接口与抽象类都是声明多个类的共同属性。但接口**与抽象类不同的是:接口允许在看起来不相干的类之间定义共同行为。2. 接口的语法使用关键字interface来声明接口。Java接口中只有方法的声明,而没有直接定义方法的内容。它的声明格式为:[接口修饰符] interface 接口名称 [extends 父类名]{ …//方法的声明或静态常量}接口与一般类的声明基本一样,本身也具有数据成员与方法,但数据成员一定要赋初值,且此值将不能再更改,即为final常量,而方法必须为“抽象方法”,由前面5.4.2节中的抽象方法知,抽象方法必须被修饰为public abstract,不过在接口中成员数据前的final关键字、方法的public关键字、abstract关键字可以省略。**可以将例6.1中的Insurable接口声明如下:public interface Insurable{ public int getNumber(); public int getCoverageAmount(); public double caculatePremium(); public Date getExpiryDate();}从中可以看出,接口中的方法值提供一种形式,而没有具体实施的细节。例6.2:接口应用举例。声明一个接口Shap2D,可以用它来实现二维的几何形状类Circle和Rectangle。对二维的几何形状而言,面积的计算是很重要的。因此可以把计算面积的方法声明在接口里,并且Circle类的面积计算需要常量pi,所以接口的内容就包含了常量pi和求面积的方法。可以定义出如下接口:**interface Shape2D //声明接口Shape2D{ final double pi=3.14; //数据成员一定要初始化public double getArea(); //抽象方法}6.1.2接口的实现 前面提到,接口是一种特殊的抽象类,所以接口也不能用new运算符直接实例化。但是可以利用接口的特性来构造新的类,再用它来创建对象。利用接口构造新类的过程,称为接口的实现。一个类如要使用一个或一组接口的特性,要使用implements关键字。实现接口的语法如下:public class 类名 [extends 父类名] implements 接口名 [,接口名[…]]{ … …//接口中的方法实现}**完成接口的类必须实现接口中的所有方法,具体实现了一个接口后,就获得了一个普通的类,可用标准方式对其进行使用或扩展。注意在实现一个接口的时候,来自接口的方法必须声明成public。例6.3:实现接口Insurable。下面声明汽车类实现例6.1中的Insurable接口,并且实现了接口中的所有抽象方法。Public class Car implements Isurable //使用接口Insurable{ public int getNumber() { //方法体语句 } public int getCoverageAmount() {

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地未知
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档