接口的定义与应用.ppt

上传人:hs****ma 文档编号:575404963 上传时间:2024-08-18 格式:PPT 页数:15 大小:772.55KB
返回 下载 相关 举报
接口的定义与应用.ppt_第1页
第1页 / 共15页
接口的定义与应用.ppt_第2页
第2页 / 共15页
接口的定义与应用.ppt_第3页
第3页 / 共15页
接口的定义与应用.ppt_第4页
第4页 / 共15页
接口的定义与应用.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《接口的定义与应用.ppt》由会员分享,可在线阅读,更多相关《接口的定义与应用.ppt(15页珍藏版)》请在金锄头文库上搜索。

1、 接口的定义与应用接口的定义与应用信息工程学院信息工程学院欧阳宏基欧阳宏基本章内容1.接口的概念接口的概念2.接口的定义与注意事项接口的定义与注意事项(重点重点)3. 接口在程序开发中的应用接口在程序开发中的应用(理解理解) 几种简单的设计模式几种简单的设计模式4.抽象类与接口的比较抽象类与接口的比较(重点重点) 接口的定义现实世界的接口:现实世界的接口: 两个不同物体之间要相互交互,必须通过的一个中介,没有两个不同物体之间要相互交互,必须通过的一个中介,没有这个中介,两者无法交互。这个中介,两者无法交互。软件世界的接口:软件世界的接口: (1) (1) 狭义:某个程序设计语言所提供的狭义:某

2、个程序设计语言所提供的APIAPI。 (2) (2) 广义:人与软件交互的图形界面广义:人与软件交互的图形界面(GUI)(GUI)。JavaJava中的接口:中的接口: 一种特殊的一种特殊的“类类”,只能包含,只能包含常量常量和和抽象方法抽象方法,属于引用数,属于引用数据类型。据类型。 接口的作用接口的作用 为什么要定义接口:为什么要定义接口: Java Java出于安全性考虑,出于安全性考虑,只支持单继承只支持单继承,而不支持多继承。,而不支持多继承。 那么就与现实世界相违背。那么就与现实世界相违背。接口的作用:接口的作用: 配合继承解决配合继承解决JavaJava无法多继承的缺点,提供方法

3、声明无法多继承的缺点,提供方法声明与实现相分离的机制,与实现相分离的机制,使实现接口的各个类表现出多使实现接口的各个类表现出多态性态性。 A A a=new a=new B B(); (); (B(B是实现了接口是实现了接口A A的类的类) ) 接口的定义一个接口的定义包含以下部分:一个接口的定义包含以下部分:public interface MyInterface extends Interface1 public static final double E = 2.718282; public abstract void doSomething (int i, double x); pub

4、lic abstract int doSomethingElse(String s); 访问控制符访问控制符接口关键字接口关键字接口名接口名接口可以继承接口接口可以继承接口接口中可以定义常量接口中可以定义常量抽象方法,只声明不实现抽象方法,只声明不实现接口的实现接口的实现是交给类来完成的。接口的实现是交给类来完成的。public class MyInterfaceImp extends 父类名父类名 implements 接口名接口名 继承了接口中的常量继承了接口中的常量 public void doSomething (int i, double x) public int doSometh

5、ingElse(String s) 一个类可以实现多个接口一个类可以实现多个接口实现接口的抽象方法,实现接口的抽象方法,添加方法体添加方法体接口的简单应用定义一个测试类,分别创建圆形类和矩形类的对象,定义一个测试类,分别创建圆形类和矩形类的对象,输出各自的面积和周长。输出各自的面积和周长。接口的高级应用接口的高级应用-设计模式设计模式 设计模式针对面向对象系设计模式针对面向对象系统中重复出现的设计问题,提统中重复出现的设计问题,提出一个通用的设计方案,并予出一个通用的设计方案,并予以系统化的命名和动机解释。以系统化的命名和动机解释。设计模式描述了问题、解决方设计模式描述了问题、解决方案、在什么

6、条件下使用该解决案、在什么条件下使用该解决方案及其效果。方案及其效果。 解决方案是解决该问题的解决方案是解决该问题的一组精心安排的通用的类和接一组精心安排的通用的类和接口口,再经过定制和实现就可用,再经过定制和实现就可用来解决特定上下文中的问题。来解决特定上下文中的问题。代理模式应用的场景应用的场景:一个对象不想或者不能直接引用另外一个对象,那么通过代:一个对象不想或者不能直接引用另外一个对象,那么通过代理可以在两者之间起到连接作用。理可以在两者之间起到连接作用。(1)(1)抽象目标角色抽象目标角色:声明真实:声明真实目标对象和目标对象和代理的共同接口。代理的共同接口。(2)(2)代理角色:代

7、理角色:内部包含对内部包含对真实目标对象真实目标对象的引用。的引用。(3)(3)真实真实目标目标角色:角色:是是客户端真正要交流的客户端真正要交流的对象,需要被代理。对象,需要被代理。适配器模式使用使用场景场景:将一个类的接口:将一个类的接口( (被适配对象被适配对象) )转换成客户希望调用转换成客户希望调用的另外一个接口的另外一个接口( (目标目标) )。适配器模式模式的三种角色:模式的三种角色:目标目标(Target):(Target):客户想使用的接口。客户想使用的接口。被适配者被适配者(Adaptee):(Adaptee):一个已经存在的接口或抽象类,需要被适配。一个已经存在的接口或抽

8、象类,需要被适配。适配器适配器(Adapter):(Adapter):是一个类,实现目标接口并包含被适配者的引用。是一个类,实现目标接口并包含被适配者的引用。接口的特点接口的特点(1)(1)接口可以定义为多继承。接口可以定义为多继承。类不能多继承。类不能多继承。interface A double getArea(); interface B String getName(); public interface C extends A,B String getAddress(); (2)(2)接口没有最高层,类有最高层接口没有最高层,类有最高层- -ObjectObject接口的特点(3) (

9、3) 接口中的方法接口中的方法默认为默认为public abstractpublic abstract;接口中的;接口中的成员属性成员属性默认为默认为public static finalpublic static final。 例如:例如: double PI=3.14f; 系统默认为系统默认为public static final double PI=3.14159;(4) (4) 接口中的方法只能是抽象方法,接口中的方法只能是抽象方法,不存在非抽象方法不存在非抽象方法和构造方法。和构造方法。抽象类与接口的比较-相同点(1) (1) 都包含抽象方法,必须被子类实现。都包含抽象方法,必须被子

10、类实现。(2) (2) 不能被实例化。不能被实例化。(3) (3) 都是引用数据类型。可以声明抽象类及接口变量,都是引用数据类型。可以声明抽象类及接口变量,并将子类的对象赋给抽象类变量。并将子类的对象赋给抽象类变量。 AbstractClass ac=new AbstractClassImp();AbstractClass ac=new AbstractClassImp(); 或将实现接口的类的对象赋给接口变量。或将实现接口的类的对象赋给接口变量。 Interface interVarInterface interVarnew InterfaceImp();new InterfaceImp()

11、; 抽象类与接口的比较-区别比较点比较点抽象类抽象类接口接口定义定义abstract classabstract classinterfaceinterface组成组成变量、常量、构造方法、抽象变量、常量、构造方法、抽象方法、方法方法、方法全局常量、抽象方法全局常量、抽象方法子类子类子类通过子类通过extendsextends继承,一个子继承,一个子类只能继承一个抽象类类只能继承一个抽象类子类通过子类通过implementsimplements实现,实现,子类可以实现多个接口子类可以实现多个接口关系关系一个抽象类可以实现多个接口一个抽象类可以实现多个接口接口不能继承抽象类但可接口不能继承抽象类但可以实现多个接口以实现多个接口实现限制实现限制存在单继承局限存在单继承局限不存在此限制不存在此限制典型设计典型设计模式模式模板模式模板模式代理模式、适配器模式代理模式、适配器模式优先使用接口,接口没有单继承这个限制优先使用接口,接口没有单继承这个限制

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号