java程序设计――抽象类与接口及多态ppt课件.ppt

java程序设计――抽象类与接口及多态ppt课件.ppt

ID:59417279

大小:194.50 KB

页数:41页

时间:2020-09-19

java程序设计――抽象类与接口及多态ppt课件.ppt_第1页
java程序设计――抽象类与接口及多态ppt课件.ppt_第2页
java程序设计――抽象类与接口及多态ppt课件.ppt_第3页
java程序设计――抽象类与接口及多态ppt课件.ppt_第4页
java程序设计――抽象类与接口及多态ppt课件.ppt_第5页
资源描述:

《java程序设计――抽象类与接口及多态ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、抽象类与接口1.抽象方法和抽象类在类中没有方法体的方法,就是抽象方法。含有抽象方法(abstract)的类,即为抽象类。如果一个子类没有实现抽象基类中所有的抽象方法,则子类也成为一个抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类必须是抽象类。构造方法、静态方法、私有方法、final方法不能被声明为抽象的方法。2.接口接口的概念是建立在封装的基础之上。在面向对象程序设计中,封装是指对象的使用者通过预先定义的接口关联到某一对象的服务和数据时,无需知道这些服务是如何实现的。因此接口在面向对象程序设计中有着重

2、要的地位。在Java中,抽象类和接口(Interface)都是一种接口抽象机制,符合接口的特点。习惯上我们只把Java语法中的接口(Interface)作为接口的窄定义。该接口是一种类型,它定义了能被一个类实现的方法。2.1.接口与实现接口的类声明接口[public]interface接口[extends父接口]{[public][static][final]数据类型成员变量=常量值;[public][abstract]返回值类型成员方法[(参数列表)];}例如,publicinterfacePlane1/

3、/平面图形接口{publicabstractdoublearea();//计算面积}2.2.声明实现接口的类[修饰符]class类<泛型>[extends父类][implements接口列表]例如,publicclassRectangle2implementsPlaneGraphics22.3.接口的作用图1图形接口与实现图形接口的类【例1】图形接口与实现图形接口的类。设计平面图形接口PlaneGraphics2。设计长方形类Rectangle2,实现平面图形接口。2.4.接口的特点接口及接口中成员的访问权

4、限都是public接口中的成员方法都是公有的、抽象的实例成员方法接口中的所有抽象方法必须全部被实现接口的类覆盖接口中的成员变量都是常量接口不能被实例化接口是引用数据类型PlaneGraphics2g1=newRectangle2(10,20);3.用接口实现多重继承一个类可以(而且只能)继承一个父类并实现多个接口图2继承机制【例2】长方体类继承长方形类并实现立体图形接口。设计立体图形接口SolidGraphics2。设计长方体类Cuboid1,继承长方形类并实现立体图形接口。长方体类Cuboid1中必须再次

5、覆盖area()和print()方法。计算周长方法存在问题。图3长方体类的多重继承【例4】球类实现多个接口。图4球类的多重继承4.接口的继承图5接口的继承5.接口与抽象类的区别相同点:两者都包含抽象方法。两者都不能被实例化。两者都是引用数据类型。不同点:抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之间共同使用的方法。抽象类与子类之间采用单重继承机制;一个类实现多个接口则实现了多重继承的功能。抽象类及其类中成员具有与普通类一样的访问权限;接口的访问权限有public和默认两种,接口中成员的访问

6、权限均是public。抽象类中可以包含非抽象方法,也可以声明构造方法;接口中的方法全部是抽象方法,不能声明构造方法。抽象类中可以声明成员变量,子类可以对该成员变量赋值;接口中只能声明常量。6.Java用接口实现多重继承比C++多重继承的优越之处图6Java单重继承时执行父类或祖先类中的方法Java接口示例定义接口实现接口接口与多重继承[public]interface接口名[extends祖先接口名]{返回类型方法名(参数列表);...类型常量字段名=值;...}[public]class类名[extend

7、s祖先类名]implements接口名[,其它接口名...]{//类的实现代码...}下面代码通过实现Writeable接口和Eatable接口的Paper类代码,演示了多重继承的程序设计:publicclassPaperimplementsEatable,Writeable{publicvoideat(){System.out.println("撕纸吃,"+TASTELESS);}publicvoidwrite(){System.out.println("在纸上书写:");}}接口应用实例使用接口的好处是

8、便于系统的扩展、维护和重用。接口的使用使得代码模块之间的耦合减弱。具体表现在对象之间的依赖关系弱化为客户——服务的关系,即客户对象请求服务,服务对象提供服务,而接口则成了提供服务的一种契约。没有经验的程序员设计接口时通常会犯合并接口和预留接口这两个错误。根据接口隔离法则,我们在设计接口时不应该强迫客户端依赖于他们用不上的方法,而是应该提供职责明确、功能专一的最小化接口。除非必要,应该严格控制接口宽度,避免接口冗余

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。