第三章类与对象.ppt
《第三章类与对象.ppt》由会员分享,可在线阅读,更多相关《第三章类与对象.ppt(49页珍藏版)》请在三一文库上搜索。
1、1,第三章 类与对象,2,主要内容,1、面向对象的概念 2、面向对象的基本特征 3、类,变量,数据成员与方法 4、对象的创建,初始化 5、static ,final变量及方法 6、方法重载 7、This关键字 8、对象的回收 9、包 10、Java基础类库 11、类的访问控制 参考thinking in java第一,四,五章 郑莉版教材第二章,第四章4.6 李发致版教材第三章,第四章4.2,4.4.1, 4.4.2,3,1、面向对象的概念,面向对象的程序设计 与结构化程序设计方法相比,更符合人类认识现实世界的思维方式 已成为程序设计的主流方向 涉及的主要概念 封装 继承 多态,4,现实世界中
2、 万物皆对象 都具有各自的属性(名词),对外界都呈现各自的行为(动词) 程序中 一切都是对象 都具有标识 (identity), 属性和行为(方法) 通过一个或多个变量来保存其状态 通过方法(method) 实现他的行为,1.1 对象,5,例: 钟表 数据(属性) int Hour; int Minute; int Second; 方法(行为) SetTime(); ShowTime();,6,例: 学生 数据(属性) String name; int ID; int Eng; int Math; 方法(行为) 统计成绩 getEng(), getMath() getTotal(),7,将属性
3、及行为相同或相似的对象归为一类。 类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为。,1.2 类,8,可以将现实生活中的对象经过抽象,映射为程序中的对象。对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(Class)。 对象是类的具体实例。,9,例如:类 Car 及 Car 的对象,Car 的对象们: Car redCar = new Car(); Car greenCar = new Car() Car blackCar = new Car(); redCar.brake(); greenCar.speedUp();,10,2 面向对象基本特征,封装:将对象的数
4、据和基于数据的操作封装在一起,封装使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。,11,继承 有助于软件的重用性,使程序结构清晰,降低了编码和维护的工作量 新的类可以获得已有类(称为超类、基类或父类)的属性和行为,称新类为已有类的派生类(也称为子类) 在继承过程中派生类继承了基类的特性,包括方法和变量 派生类也可修改继承的方法或增加新的方法,使之更适合特殊的需要,12,Vehicle,Bicycle,MotorVehicle,Airplane,13,多态 一个程序中同名的不同方法共存 不同类的对象可以响应同名的方法 ,具体的实现方法却不同 使语言具有灵活、抽象、行为共享、代码
5、共享的优势,很好地解决了应用程序方法同名问题,14,3、类,变量,数据成员及方法 3.1 类的声明,声明形式 public abstract | final class 类名称 extends 父类名称 implements 接口名称列表 数据成员声明及初始化; (field, constructor) 方法声明及方法实现; (method declaration) ,class Car int color_number; int door_number; int speed; void brake() void speedUp() void slowDown() ,15,关键字 Class
6、表明其后声明的是一个类。 extends 如果所声明的类是从某一父类派生而来,那么,父类的名字应写在extends之后 implements 如果所声明的类要实现某些接口,那么,接口的名字应写在implements之后,16,修饰符 可以有多个,用来限定类的使用方式 public 表明此类为公有类 abstract 指明此类为抽象类 final 指明此类为终结类 类声明体 数据成员声明及初始化 可以有多个 方法声明及方法实现 可以有多个,17,例:钟表类 Clock.java public class Clock / 成员变量 int hour ; int minute ; int secon
7、d ; / 成员方法 public void setTime(int newH, int newM, int newS) hour=newH ; minute=newM ; second=news ; public void showTime() System.out.println(hour+“:“+minute+“:“+second); ,18,数据成员包括基本数据类型和引用类型的数据。也就是Java中任意的数据类型(基本数据类型,类,接口,数组) 在一个类中数据成员(变量)名是唯一的,3.2 数据成员,19,声明格式 public | protected | private static
8、 final 数据类型 变量名1=变量初值, 变量名2=变量初值, ; static int sum =7; private String gardenName; private Fruit banana; 格式说明 Public,protected,private 为访问控制符, static指明这是一个静态成员变量(类变量) final指明变量的值不能被修改,20,3.3 方法,方法是在类中定义,用来实现对象操作的函数。 声明格式 public | protected | private static finalabstract synchronized 返回类型 方法名(参数列表) th
9、rows exceptionList 方法体 返回类型可以是任意的Java数据类型,当一个方法不需要返回值时,返回类型为void。,21,方法的参数传递,参数的类型可以是基本数据类型,也可以是引用类型。 Java语言中,基本类型作为参数均采用传值(passing by- value)的方式完成,也就是,对形参的任何改动都不会影响到实参。 而引用类型变量作为参数传递时,采用的是引用传递(passing-by-reference)的方式,在方法体中对形参的改动将会影响到原来的变量。 例MethodArgment.java,22,一个简单的类:类的定义放在Car.java里,测试代码放入CarDem
10、o.java里,运行时,这两个文件放在同一目录下。或者两段代码放在同一文件CarDemo.java,class Car int car_number; void set_number(int car_num) car_number=car_num; void show_number() System.out.println (“My car No. is : ”+car_number); ,class CarDemo public static void main(String args) Car DemoCar=new Car(); DemoCar.set_number(3456); Dem
11、oCar.show_number(); ,My car No. is : 3456,23,或者把main()也放入Car类里,文件名为Car.java,适用于代码少的程序。,public class Car int car_number; void set_number(int car_num) car_number=car_num; void show_number() System.out.println (“My car No. is : ”+car_number); public static void main(String args) Car DemoCar=new Car();
12、DemoCar.set_number(3456); DemoCar.show_number(); ,24,4、对象的创建,初始化,对象的创建与C+类似,同样的Java也提供了构造方法(constructor)在对象创建时被自动调用,进行对象初始化。,25,4.1 对象的创建,对象的声明 格式 类名 变量名 例如Car是已经声明的类名,则下面语句声明了一个CarDemo对象(也叫做实例) Car CarDemo;,26,对象的创建 生成实例的格式: new () 例如: CarDemo=new Car() 或者声明与创建合为一步: Car CarDemo = new Car(); 其作用是: 在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 对象
链接地址:https://www.31doc.com/p-2581117.html