资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
类与对象设计,第4章,2,目标,面向对象的基本概念。 类的声明以及成员变量、方法的声明和访问权限。 对象的生成和使用。,3,4.1.1 对象,对象是具有某些特殊属性(数据)和行为方式(方法)的实体。 可以是有生命的个体,比如一个人或一只老虎。也可以是无生命的个体,比如一辆汽车或一台计算机。也可以是一个抽象的概念,如天气的变化或鼠标所产生的事件。,两个特征:属性(Property)和行为(Behavior) 如:一个人的属性有:姓名、性别、年龄、身高、体重等 行为有:唱歌、打球、骑车、学习等。,4,4.1.2 消息,单一对象的存在并没有多大的作用,只有多个对象相互作用才会完成复杂的行为。 对象和对象之间是通过传递消息来完成相互通信的。 一个消息由三方面内容组成: 1)消息的接收者,即消息的目标对象; 2)接收对象采用的方法; 3)执行方法所需用的参数(Parameters)。,例如:一辆自行车放在车棚中并没有什么用,当我们人骑 上它,并加速时才体现它的作用,其中接收者(自行车), 采用的方法(加速),所需的参数(上升到更高的档位)。,5,4.1.3 类,类是具有共同属性和行为的对象的抽象。 类可以定义为数据和方法的集合。 对象具有特殊属性和行为方式的实体。,类,对象,抽象,实例化,封装的实体=数据+方法,操作或行为,属性或状态,方法,数据或变量,6,4.1.4 面向对象的基本特征,1.封装:将数据成员(Data Member)和属于此数据的操作方法(Operating Method),放在同一个实体(Entity)或对象中。 2.继承:父类定义(Define)一些通用的属性与行为,其孩子继续使用。 3.多态:在同一个类中可有许多同名的方法,但其参数数量与数据类型不同,而且操作过程与返回值也可能会不同。,(1)模块化 (2)信息隐藏,(1)实现代码复用 (2)简化设计过程,解决其他语言中不能重名的问题,7,4.2.1 类的定义,类的定义格式为:,类修饰符class name type variable1; type variableN; type methodname1(parameter-list) /方法体 type methodnameN(parameter-list) /方法体 ,成员变量(对象属性),成员方法 (对象行为或操作),8,4.2.2 成员变量,作用范围是整个类。与局部变量不同。 可以使用修饰符来控制变量的作用范围。 格式:(=) 修饰符可以为: static:定义类变量,区分实例变量。 final:用来声明常量,值只能用不能改。 transient:定义暂时性变量,串行化时不能保存。 volatile:定义共享变量,用于多线程共享。,9,4.2.3 成员方法,定义方法的一般格式: access type methodname1(parameter-list) /方法体 ,public void setdt(int day,int month,int year) day=23; month=7; year=2003; ,10,4.2.4 类的对象,对象的声明和创建 类名 对象名; /声明 对象名=new 类名(参数);/创建 (2)对象的使用 对象名.成员变量名; 对象名.成员方法名(参数列表); (3)对象的销毁 自动垃圾回收机制周期性的释放无用的对象。,11,类和对象实例,public class RectangleDemo double length; double width; void setL(double l,double w) length=l; width=w; double area() return length*width; public static void main(String args) RectangleDemo r1; r1=new RectangleDemo(); r1.setL(10,20); System.out.println(“area:”+r1.area(); ,12,4.2.5 构造方法,构造函数名称与类名称相同 构造函数没有返回类型 其任务是在创建对象时初始化其内部状态 若无定义系统默认有一个无参构造方法,class Fruit boolean seedLess; boolean seasonal; float price; Fruit(boolean seed, boolean season, float p) seedLess = seed; seasonal = season; price = p; ,13,4.2.6 修饰符2-1,所有类A,所有子类C,包中类B 包中子 类E,本类D,14,4.2.6 修饰符2-2,用来说明类、方法或变量的类型。,15,4.2.7 静态初始化,在类加载时,做一些起始动作的程序块。格式: static 程序块; ,class StaticDemo boolean sex; String name; String type; static type=“学生”; float score; ,16,4.2.8 内部类,1.静态成员类 2.成员类 3.局部类 4.匿名类,17,4.2.9 类的使用,1.类对象作为类的成员 2.类对象作为方法的参数 3.方法返回值为类对象,18,总结,1.掌握面向对象程序设计的基本概念,对象、类、面向对象的基本特征(封装、继承和多态)。 2.掌握类、对象、继承、抽象类、接口和包的定义与使用。 3.掌握各种修饰符的使用方法。,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号