面向对象程序设计基础

面向对象程序设计基础

ID:42804298

大小:254.51 KB

页数:22页

时间:2019-09-23

面向对象程序设计基础_第1页
面向对象程序设计基础_第2页
面向对象程序设计基础_第3页
面向对象程序设计基础_第4页
面向对象程序设计基础_第5页
资源描述:

《面向对象程序设计基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章抽象类、接口与多态一、抽象类(P74)什么是抽象类OOP,所有的对象都是通过类来描绘的,但并不是所有的类都是用来描绘对象的;如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类;例如:形状、乐器等都没有直接对应的具体对象,可以定义为抽象类。9/9/2021抽象类的声明abstractclassShape{...}说明:类前加修饰符abstract可包含常规类能够包含的任何东西,例如构造方法,成员方法等也可包含抽象方法9/9/2021抽象方法abstractreturnTypemethodName(...);例如:abstractvoidprintInfo(

2、);//{}说明:仅有方法头,而没有方法体具有抽象方法的类必须声明为抽象类一个抽象类不一定有抽象方法9/9/2021一个绘图的例子各种图形都需要实现绘制方法,可在它们的抽象父类中声明一个draw抽象方法ShapeCircleLineRectangleabstractvoiddraw();只声明,不实现子类分别实现draw()方法,完成绘图功能9/9/2021//抽象父类publicabstractclassShape{publicabstractvoiddraw();}//非抽象子类publicCircleextendsShape{publicvoiddraw(){System.

3、out.println(“DrawCircle.”);}}非抽象的子类必须实现父类所有的抽象方法9/9/2021二、接口(P76)什么是接口Java中的接口是一系列方法的声明,而没有方法的实现;接口常常代表一个角色,它封装与该角色相关的操作,规定了该角色应该具有的功能9/9/2021接口举例防盗门、防盗手机、汽车等都具有防盗报警功能;汽车、飞机、鱼都有可移动的功能,如下所示:AlertDoorMobileCarMovableCarPlaneFish接口实现了接口的类9/9/2021接口的声明声明格式:publicinterfaceinterfaceName{//抽象方法的声明或常

4、量定义}说明:关键字interface指明接口接口中的方法必须是公有的抽象方法,但允许省略public及abstract关键字也可以在接口内定义常量9/9/2021//接口的声明publicinterfaceMovable{//publicabstract省略voidstart();voidspeedUp();voidturnDirection(booleandir);voidstop();}9/9/2021接口的实现利用接口构造类的过程,称为接口的实现使用implements关键字,语法如下publicclass类名称implements接口名称{//方法实现}注意:必须实现接

5、口中的所有抽象方法来自接口的方法必须声明为public9/9/2021//接口的实现publicclassCarimplementsMoveObject{publicvoidstart(){//语句块,实现汽车启动}publicvoidspeedUp(){…}publicvoidturnDirection(booleandir){…}publicvoidstop(){…}}9/9/2021多继承不支持多继承,只能有一个父类但可以有多个父接口publicclassManagerextendsEmplyee{//……}publicclassCarimplementsAlert,Mov

6、able{//……}publicclassAlertDoorextendsDoorimplementsAlert{//……}9/9/2021定义手机(MobilePhone)类是一种通讯器材(Comm抽象类)具有音乐功能(Music接口)具有摄像功能(Photo接口)MobilePhone.java-演示Java中的“多继承”,并区分接口和抽象类的使用时机。publicclassMobilePhoneextendsCommimplementsMusic,Photo{//……}9/9/2021三、多态(P71)向上转型(UpCasting)对象既能以本身的类型使用,也可以当作父类或

7、父接口使用。MovableCarPlaneFishUpCastingDownCasting9/9/2021publicclassCastDemo{publicstaticvoidmain(String[]args){Movableobj[]=newMovable[3];obj[0]=newCar();obj[1]=newFish();obj[2]=newPlane();for(inti=0;i

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

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

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