面向对象程序设计基础.ppt_第1页
面向对象程序设计基础.ppt_第2页
面向对象程序设计基础.ppt_第3页
面向对象程序设计基础.ppt_第4页
面向对象程序设计基础.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章抽象类、介面和多态、2020/8/2、1、抽象类(P74)、抽象类OOP是什么,所有对象都通过类绘制,但不是所有类都用于描述对象。如果类不包含足够的信息来描述特定对象,则这些类是抽象类。例如:形状、乐器等没有直接对应的具体对象,可以定义为抽象类。2020/8/2,抽象类宣言abstract class Shape.说明:类前面的修饰符abstract可以包含常规类可以包含的任何内容(例如构造方法、成员方法等)。抽象方法;2020示例:abstract void print info();/说明:只有方法标头但没有抽象方法的类必须声明为抽象类。抽象类不一定具有抽象方法。2020/8/2,绘

2、图示例各种图形必须实现绘图方法。抽象父类可以声明draw抽象方法、abstract void draw、2020/8/2、/抽象父类public abstract class shape public abstract void draw();/抽象子类public circle extends shape public voiddraw()system . out . print ln( draw circle );2020/8/2,2,介面(P76),介面Java的接口是什么?一系列方法声明。没有方法实现。界面经常封装角色、角色相关操作,规定角色功能,2020/8/2、安全门、防盗手机、汽

3、车等界面具有防盗警报功能。汽车、飞机、鱼具有移动功能,如下所示:2020/8/2,介面宣言格式:public interface interfaceName /抽象方法宣言或常量定义说明:关键字interface表示接口,但是省略public和abstract关键字也可以在介面内定义常量。2020/8/2,/接口的宣言public interface movable/public abstract省略Void start();Void speedUp();Void turnDirection(boolean dir):Void stop();2020/8/2,介面实现是利用介面配置类的过程,介

4、面实现使用implements关键字。语法如下:public class类名implements实现介面名称/方法注意:必须实现接口的所有抽象方法。接口中的方法必须声明为public。/介面实现public class car implements move object public void start()/门块,汽车启动public void speedup()public void turn direction只能有一个父类,但可以有多个父接口public class manager extends emplyee/public class car implements alert。m

5、ovable/Music class alert door extends door implements alert/,2020/8/2,MobilePhone类是通信设备obj 0=new Car();obj 1=new Fish();obj 2=new Plane();for(int I=0);I obj.lengthI)obji . start();2020/8/2,可以将派生自具有相同多态的基类(父类或父介面)的多个类型视为同一类型,这些派生类对象在响应同一方法时的行为会有所不同。同一方法在行为上的差异是多态性。优点是可以开发“可扩展”程序。,2020/8/2,public clas

6、s poly demo public static void main(string args)movable m1=new car();Fish m2=new Fish();移动(m1);移动(m2);public static void move(movable obj)obj . start();/是否确定编译时功能?2020/8/2、4、其他关键字(P71)、final可以修改类、成员变量和成员方法,但角色不同。修饰成员变量成为常量并在定义时提供初始值。修改的方法,牙齿方法不能在子类中重写。修改类后,将无法继承类。2020/8/2,static可以修改成员变量和成员方法。例如,publ

7、ic class Ticket /类变量或静态变量public static int left tickets=100;/类别方法或静态方法public static intgetlefttickets()return left tickets;2020/8/2,静态变量和方法可以通过类名访问public class static demo public static void main(string args)int temp=ticket . lef ticketsticket . left tickets-;temp=ticket . getlefttickets();system . out . print ln(temp);2020/8/2,this

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论