1、教学目标教学目标n理解数据抽象和数据隐藏n创建类n能够创建和使用对象n能够控制对实例变量和方法的访问n方法的重载n构造函数的使用n理解this引用的用法n理解Java的垃圾收集机制nstatic方法和域的使用n类的组合n包的创建和使用4.1 面向对象程序设计的思想面向对象程序设计的思想n4.1.1 OOP思想n4.1.2 用类实现抽象数据类型:时钟类 n4.1.3 类成员:构造函数、方法和域 4.1.1 OOP思想思想n面向对象编程技术n将数据及对数据的操作封装在一起而形成了类,类是描述相同类型的对象集合。面向对象编程(object-oriented programming,OOP)就是定义这
2、些类。n类作为抽象的数据类型用于创建类的对象。n程序的执行,表现为一组对象之间的交互通信。对象之间通过公共接口进行通信,从而完成系统功能。对象的公共接口是该对象的应用程序编程接口,把对象的内部详细信息隐藏起来,使得对象变得抽象,将这种技术称为数据的抽象化。nJava语言是完全面向对象的语言,程序的结构由一个以上的类组成。所有的过程都被封装起来,并将它们称之为方法。4.1.2 用类实现抽象数据类型:时钟类用类实现抽象数据类型:时钟类n类作为一种抽象的数据类型,封装了对象的数据属性和动态行为,被用来定义类的对象。n下面我们将通过一个具体的实例来理解什么是类,如何定义类、创建对象和使用对象。n时钟类
3、的设计:(1)数据属性:时(int hour);分(int minute);秒(int second)。(2)行为:设置时间 setTime();显示时间 toUniversalString()、toStandardString();走时run();4.1.2 用类实现抽象数据类型:时钟类(续)用类实现抽象数据类型:时钟类(续)例4-1 时钟类的实现。该例子包含两个文件Time1.java和TimeTest1.java。n Time1.java是用于定义时钟类。n TimeTest1类是一个用于测试时钟类的包含main方法的主类,在main方法中将创建Time1类的一个对象,并调用对象的公共方
4、法。4.1.2 用类实现抽象数据类型:时钟类(续)用类实现抽象数据类型:时钟类(续)Time1.java文件的代码如下:public class Time1 extends Object private int hour;private int minute;private int second;public Time1()setTime(0,0,0);public void setTime(int h,int m,int s)hour=(h=0&h=0&m=0&s 60)?s:0);时分秒设置时间构造方法4.1.2 用类实现抽象数据类型:时钟类(续)用类实现抽象数据类型:时钟类(续)publ
5、ic String toUniversalString()return hour +:+minute +:+second;public String toStandardString()return(hour=12|hour=0)?12:hour%12)+:+minute+:+second+(hour=0&h=0&m=0&s 0&testMonth 0&testDay=60)minute+;second=0;if(minute=60)minute=0;hour+;if(hour=24)hour=0;/完成走n秒public void run(int n)for(int i=0;in;i+)run();走时功能的设计走时功能的设计