《(本科)第7章接口与实现ppt课件.ppt》由会员分享,可在线阅读,更多相关《(本科)第7章接口与实现ppt课件.ppt(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第7章接口与实现2Java程序设计精编教程第七章接口与实现接口与实现配合例子源代码一起使用3导读导读主要内容:l接口l实现接口l理解接口l接口回调l接口与多态l接口变量做参数l面向接口编程4 7.1接口为了克服Java单继承的缺点,Java使用了接口,一个类可以实现多个接口。使用关键字interface来定义一个接口。接口的定义和类的定义很相似,分为接口的声明和借口体。interface Printablefinal int Max=100;void add();float sum(float x, float y);1. 接口声明接口通过使用关键字interface来声明,格式i
2、nterface 接口的名字2. 接口体接口体中包含常亮定义和方法定义两部分5 7.2实现接口一个类通过使用关键字 implements声明自己实现一个或多个接口。class A implements Printable,Addable如果一个类实现了某个接口,那么这个类必须重写该接口的所有方法。Java提供的接口都在相应的包中,通过import语句不仅可以引入包中的类,也可以引入包中的接口,例如:import java.io.*;不仅引入了 java.io包中的类,也同时引入了该包中的接口。例1:6 7.3理解接口接口可以增加很多类都需要具有的功能,不同的类可以实现相同的接口,同一个类也可以
3、实现多个接口。接口只关心操作,并不关心操作的具体实现。接口的思想在于它可以增加很多类都需要具 有的功能,而且实现相同的接口类不一定有继承关系。7 7.4接口的UMI图表示接口的UML图和表示类的UML图类似,使用一个长方形描述一个接口的主要构成,将长方形垂直地分为三层。第1层是名字层、第2层是常量层、第3层是方法层。 ComputableMAX: intf(int): int Computablef(int): intChinaf(int): intJapanf(int): int图7.1 接口UML图图7.2 实现关系发的UML图8 7.5接口回调接口回调是指:可以把实现某一接口的类创建的对
4、象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类重写的接口方法。实际上,当接口变量调用被类重写的接口方法时,就是通知相应的对象调用这个方法。例2:Ox12zb9Ox12zb9类实现的接口方法类原有的方法comobject图7.5 接口回调的内存模型9 7.6接口与多态可以通过在接口中声明若干个abstract方法,表明这些方法的重要性,方法体的内容细节由实现接口的类去完成。使用接口进行程序设计的核心思想是使用接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法。例3:10 7.7接口变量做参数如果一个方法的参数是接口类型,我们就可以将任何实
5、现该接口的类的实例的引用传递给该接口参数,那么接口参数就可以回调类实现的接口方法。例4:11 7.8abstract类与接口的比较接口和abstract类的比较如下:1. abstract类和接口都可以有abstract方法。2. 接口中只可以有常量,不能有变量;而abstract类中即可以有常量也可以有变量。3. abstract类中也可以有非abstract方法,接口不可以。12 7.9面向接口编程面向接口去设计程序,可 以通过在接口中声明若干个 abstract方法,表明这些方法 的重要性,方法体的内容细 节由实现接口的类去完成。使用接口进行程序设计的 核心思想是使用接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法。例5:面向接口的类面向接口的类Variable 接口图7.9 UML类图接口接口接口方法实现接口的类实现接口的类实现的接口方法实现接口的类实现接口的类实现的接口方法13 1. 什么是接口?为什么要定义接口?接口与类有何异同? 2. 如何定义接口?使用什么关键字? 3. 一个类如何实现接口?实现接口的类是否一定要重写该接口中的所有抽象方法?
限制150内