JAVA面向对象编程 (2).ppt
《JAVA面向对象编程 (2).ppt》由会员分享,可在线阅读,更多相关《JAVA面向对象编程 (2).ppt(42页珍藏版)》请在三一办公上搜索。
1、第三章,面向对象的概念和 Java 实现-2,2,回顾,类是具有相同属性和行为的一组对象的集合,对象是类的实例封装是隐藏对象实现细节的过程,以便不让用户看到实现的细节类可用Class来定义,类的变量和方法可被该类的实例访问,圆点符号用于访问对象的成员,构造函数在创建对象时初始化对象包可用package来申明,可用import 来导入包,3,目标,掌握对象掌握类理解抽象和封装理解对象与类之间的关系掌握包的创建和导入理解继承及其特点运用JAVA程序实现继承理解多态及其特点设计运用JAVA程序实现多态掌握访问修饰符和方法修饰符,4,继承,父 类,子类,5,继承的特点,6,继承的优点,7,继承的JAV
2、A实现,演示:示例 1,编写一个父类使用 extends 关键字,编写子类,class Vehicles/*存储交通工具的名称.*/protected String name=Honda Civic;/*存储颜色信息.*/protected String color=Red;/*存储座位信息.*/protected int seats=5;/*构造方法.*/Vehicles()/*显示父类汽车的详细信息*/void showDetail()(从父类 Vehicles 中输出的信息);(名称-+name);(颜色-+color);,8,class Car extends Vehicles/*构造
3、方法.*/Car()/*显示子类 Car 的信息.*/void show()(“从子类 Car 中输出的信息);(“交通工具的名称-+name);(“交通工具的颜色-+color);(“座位的数量-+seats);(=);,public class CarTest/*构造方法*/CarTest()/*这是 main 方法*param args 传递至 main 方法的参数*/public static void main(String args)/*声明一个对象*/Car vehicle=new Car();vehicle.show();vehicle.showDetail();,9,子类构造
4、方法 2-1,要调用父类构造方法,使用关键字 super,10,子类构造方法 2-2,调用父类构造方法的语法为:super()或 super(参数列表);super()方法始终指向调用类的父类,11,调用父类构造方法,演示:示例 3,关键字 super 的用法,class FictionAuthor extends Author/*存储作者的小说类型.*/String storytype;/*子类构造方法.param name 传递至构造方法的参数 param type 传递至构造方法的参数*/FictionAuthor(String name,String type)super(name);
5、storytype=type;(“从 Fiction Author 类输出);(“小说类型为+storytype);,调用父类构造方法,Author(String str)name=str;(“从 Author 类输出);(“姓名为+name);,构造函数的继承,子类可以继承父类的构造函数,构造函数的继承遵循以下的原则:(1)子类无条件继承父类的不含参数的构造函数。(2)如果子类自己没有构造函数,则它将继承父类的无参数构造函数作为自己的构造函数;如果子类自己定义了构造函数,则在创建新对象时,它将先执行继承自父类的无参数构造函数,然后再执行自己的构造函数。(3)父类的含参数构造函数,子类可以通过
6、在自己构造函数中使用super关键字来调用,但这个调用语句必须是子类构造函数的第一个可执行语句。,构造函数相互调用,一个类的若干个构造函数之间可以相互调用。当一个构造函数需要调用另一个构造函数时,可以使用关键字this,同时这个调用语句应该是整个构造函数的第一个可执行语句。例如,上面D200-Card类的后几个构造函数可以改写为:D200-Card(long cn)/一个参数的构造函数,初始化电话卡号 this();cardNumber=cn;D200-Card(long cn,int pw)/两个参数的构造函数,初始化电话卡号和密码 this(cn);password=pw;见例子TThis
7、.java,14,多态性 2-1,所谓多态,是指一个程序中同名的不同方法共存的情况。面向对象的程序中多态的情况有多种,可以通过子类对父类方法的覆盖实现多态,也可以利用重载在同一个类中定义多个同名的不同方法。多态性是指“多种形式”它使用不同的实例而执行不同操作多态包括方法重写和方法重载,15,多态性 2-2,父类,子类-绘制和移动三角形,子类-绘制和移动矩形,子类-绘制和移动五边形,16,方法重载 2-1,方法重载,类中有多个具有相同名称的方法,17,方法重载 2-2,演示:示例 4,public class DisplayNumber/*无参数可显示/void display()(无参数可显示
8、!);/*param num 传递至 display 方法的参数*param num1 传递至 display 方法的参数*/void display(int num,int num1)(两个整数是:+num+num1);/*param型的 count 由 display 方法接收*/void display(double count)(在 display(double)方法内:+count),public static void main(String arg)int count=25;DisplayNumber dispObj=new DisplayNumber();dispObj.dis
9、play();dispObj.display(10,20);/*不存在具有一个 int 型参数的方法,*int 型值自动转化为 double 型值*/(“调用 display(double)方法,+“使用 int 变量:+count);dispObj.display(count);dispObj.display(25.5);,18,方法重写 2-1,19,class Rectangle int length;int width;Rectangle(int len,int wid)length=len;width=wid;/*计算矩形的周长.*/void getPerimeter()(“矩形的周
10、长为+(2*(length+width);,方法重写 2-2,父类和子类中具有相同名称和类型的方法,public static void main(String arg)Rectangle rectObj=new Rectangle(10,15);rectObj.getPerimeter();Rectangle sqObj=new Square(15);sqObj.getPerimeter();,调用父类方法,调用子类方法,class Square extends Rectangle Square(int len)length=len;/*计算周长.*/void getPerimeter()(
11、“正方形的周长为+(4*length);,20,访问修饰符 3-1,信息隐藏是 OOP 最重要的功能之一,也是使用访问修饰符的原因信息隐藏的原因包括:对任何实现细节所作的更改不会影响使用该类的代码防止用户意外删除数据此类易于使用,访问修饰符,21,访问修饰符 3-2,22,访问修饰符 3-3,访问修饰符可访问性,23,类的修饰符3-1,Java程序在定义类时,除了使用class关键字标识之外,还可以在class之前增加若干类的修饰符来修饰限定所定义的类的特性。类的修饰符分为访问控制符和非访问控制符两大类,有些类的修饰符也可以用来修饰类中的域或方法,本节讨论类的非访问控制符。类修饰符(Modif
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA面向对象编程 2 JAVA 面向 对象 编程

链接地址:https://www.31ppt.com/p-6510324.html