第五章使用对象与类编写程序 ■课程内容:面向对象程序设计、声明创建对象、构造 函数、修饰符、实例与类对象和方法、变量使用范围、 关键字使用、核心类库、字符串等 ■授课时间:2006/09/29 教学目标:了解面向对象程序设计;掌握如何使用核 心Java库中的类;创建对象以及如何编写自己的类 重点:面向对象程序设计、使用现有类、创建自己的 类 ■教学方法:讲授 ■教学过程:(省略) ©2006计算机系杨群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 课程内容: 面向对象程序设计、声明创建对象、构造 函数、修饰符、实例与类对象和方法、变量使用范围、 关键字使用、核心类库、字符串等 授课时间:2006/09/29 教学目标:了解面向对象程序设计;掌握如何使用核 心Java库中的类;创建对象以及如何编写自己的类 重点:面向对象程序设计、使用现有类、创建自己的 类 教学方法:讲授 教学过程:(省略) 第五章 使用对象与类编写程序
面向对象程序设计 ■引入面向对象目的 降低难度、复杂度,提高效率、可控制、可监控、可 维护性 计算机世界 现实世界 映射 对象 实体 实例化 抽象 抽象 概念世界 计算机逻辑的实现 类 抽象数据类 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 引入面向对象目的 降低难度、复杂度,提高效率、可控制、可监控、可 维护性 面向对象程序设计 对象 实体 类 抽象数据类 现实世界 概念世界 计算机世界 实例化 抽象 映射 计算机逻辑的实现 抽象
对象的概念 状态 行为 标志 变量 方法 对象名 计时器的例子 调整时间 显示时间 状态 鸣叫 种类 报时 上弦 种类、品牌、 指示时间 外观、大小 颜色、计时与 特殊种类的 否、具体指示 换电池 特殊操作 时间等 (a)对象的状态 )对象的行为 对象的属性 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 状态 行为 标志 变量 方法 对象名 对象的概念 计 时 器 的 例 子
对象的概念(cont.) 对象 Circle对象 Data Field data field 1 radius=5 . 状态 Method data field n findArea method 1 行为 method n ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 对象的概念(cont.) data field 1 method n data field n method 1 对象 . . 状态 行为 Data Field radius = 5 Method findArea Circle 对象
对象与类 Circle 4.类的图解说明 radius findArea new Circle() new Circle() circlel:Circle circlen:Circle 4.对象的图解 说明 radius 2 radius 5 ©2006计算机系杨厚群 All rights&lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 对象与类 Circle radius findArea circle1: Circle radius = 2 new Circle() circlen: Circle radius = 5 new Circle() . 类的图解说明 对象的图解 说明
类定义 class Circle double radius 1.0; double findArea() return radius*radius*3.14159; ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 类定义 class Circle { double radius = 1.0; double findArea() { return radius*radius*3.14159; } }
声明与创建对象 在使用对象前:声明并构造对象,指定初始 状态,施加方法 Circle myCircle; myCircle new Circle(); -对象与对象变量① Date birthday new Date(); 对象变量初始化可使用构造函数,或者指向 一个已存在的对象 Date deadline=birthday; ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. –在使用对象前:声明并构造对象,指定初始 状态,施加方法 Circle myCircle; myCircle = new Circle(); –对象与对象变量① Date birthday = new Date(); 对象变量初始化可使用构造函数,或者指向 一个已存在的对象 Date deadline=birthday; 声明与创建对象
基本数据类型变量与对象变量的区别 基本数据类型 inti=1 对象类型 Circle c 引用 c:Circle 创建对象 new Circle(5) radius 5 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 基本数据类型变量与对象变量的区别 1 c: Circle radius = 5 基本数据类型 int i = 1 i 对象类型 Circle c c 引用 创建对象 new Circle(5)
基本数据类型变量与对象变量的复制 基本数据类型赋值 对象变量引用 i=j cl=c2 之前 之后 之前: 之后 i 2 cl cl j 2 2 c2 c2 cl:Circle c2:Circle radius =5 radius 9 ©2006计算机系杨厚群 All rights&lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 基本数据类型变量与对象变量的复制 1 c1: Circle radius = 5 基本数据类型赋值 i = j 之前: i j 2 2 之后: i j 2 对象变量引用 c1 = c2 之前: c1 c2 之后: c1 c2 c2: Circle radius = 9
对象处理 引用对象的属性变量: objectName.data myCircle.radius ■引用对象的方法: objectName.method myCircle.findArea ( 源码 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 引用对象的属性变量: objectName.data myCircle.radius 引用对象的方法: objectName.method myCircle.findArea() 源码 对象处理