《Java程序设计》课程教学课件(PPT讲稿)第8章 对象和类

1 第8章 对象和类

2 动因 学习过前几章的知识之后,你已经能够使用 选择、循环、方法和数组解决很多程序设计 问题。但是,这些Java的特性还不足够用来开 发图形用户界面和大型软件系统。假设你希 望开发一个如下所示的图形用户界面。该如 何用程序实现它呢?

3 学习目标 描述对象和类,使用类来建模对象(第8.2节)。 使用UML图形符号来描述对象和类(第8.2节)。 演示如何定义类以及如何创建对象(第8.3节)。 使用构造方法创建对象(第8.4节)。 通过对象引用变量访问对象(第8.5节)。 使用引用类型定义引用变量(第8.5.1节)。 使用对象成员访问操作符(.)来访问对象的数据和方法(第8.5.2节)。 定义引用类型的数据域并给对象的数据域赋默认值(第8.5.3节)。 区分对象引用变量与基本类型变量的不同(第8.5.4节)。 在Java库中使用 Date类、Random类和JFrame类 (第8.6节)。 区分实例变量与静态变量,实例方法与静态方法的不同(§8.7节)。 定义有恰当的get方法和set方法的私有数据域(第8.8节)。 封装数据域以便于类的维护(第8.9节)。 开发带对象参数的方法并区分基本类型参数和对象类型参数的不同(第8.10节)。 在数组中存储和处理对象(第8.11节)

4 面向对象程序设计概念 面向对象程序设计(OOP)就是使用对象进行程序 设计。 对象(object)表示现实世界中可以明确标识的一个 实体。 例如:一名学生、一张桌子、一个圆、一个按钮,甚至一笔 贷款都可以被视为对象。每个对象都有自己独特的标识、状 态和行为。 一个对象的状态是指那些具有当前值的数据域(也 称为属性)的集合。一个对象的行为由一个方法的 集合定义

5 对象 一个对象具有状态和行为。状态定义了对象而 行为定义了对象做什么。 Class Name: Circle Data Fields: radius is _ Methods: getArea Circle Object 1 Data Fields: radius is 10 Circle Object 2 Data Fields: radius is 25 Circle Object 3 Data Fields: radius is 125 一个类模版 Circle 类的 三个对象

6 类 类 是定义相同类型对象的结构。Java类使用变 量来定义数据域,而用方法来定义行为。 类还提供了一种特殊类型的方法,这种方法被 称为构造函数,当你用类来构建对象时会调用 构造方法

7 类 class Circle { /** The radius of this circle */ double radius = 1.0; /** Construct a circle object */ Circle() { } /** Construct a circle object */ Circle(double newRadius) { radius = newRadius; } /** Return the area of this circle */ double getArea() { return radius * radius * 3.14159; } } 数据域 方法 构造方法

8 UML 类图 Circle radius: double Circle() Circle(newRadius: double) getArea(): double circle1: Circle radius = 1.0 类名 数据域 构造方法和 一般方法 circle2: Circle radius = 25 circle3: Circle radius = 125 UML Class Diagram 对象的 UML 符号

9 举例:定义类和创建对象 目标:演示创建对象、访问数据和使用 方法。 TestCircle1 Run

10 举例:定义类和创建对象 目标:演示创建对象、访问数据和使用 方法 。 TestTV Run TV
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《Java程序设计》课程教学课件(PPT讲稿)第7章 多维数组.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第6章 一维数组.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第5章 方法.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第4章 循环.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第3章 选择.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第2章 基本程序设计.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第1章 计算机、程序和Java概述.ppt
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)模拟试题及答案(三).pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)模拟试题及答案(二).pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)模拟试题及答案(一).pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)真实感图形学习题解答.pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)Bezier曲线习题解答.pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)B样条曲线习题解答.pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)图形学基本概念题解答.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)阴影 Shadow.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)纹理映射.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)光线跟踪加速方法.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)B样条曲线曲面.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)网格参数化模型切割的骨架算法.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)网格模型、网格细分和简化.pdf
- 《Java程序设计》课程教学课件(PPT讲稿)第9章 字符串和文本I/O.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第10章 关于对象的思考.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第11章 继承和多态.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第1章 多媒体技术概要.ppt
- 《多媒体技术基础》课程教学资源(作业习题)练习与思考题参考答案.doc
- 《多媒体技术基础》课程教学课件(PPT讲稿)第2章 数据无损压缩.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第3章 数字声音编码.ppt
- 清华大学出版社:《多媒体技术基础》课程教材书籍PDF电子版(第2版,编著:林福宗).pdf
- 《多媒体技术基础》课程教学课件(PPT讲稿)第5章 颜色的度量体系.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第4章 彩色数字图像基础.ppt
- 《多媒体技术基础》课程教学资源(书籍教材)Fundamentals of Multimedia,英文版,Ze-Nian Li and Mark S. Drew.pdf
- 《多媒体技术基础》课程教学课件(PPT讲稿)第6章 颜色空间变换.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第7章 小波与小波变换.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第8章 小波图像编码.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第12章 MPEG视像.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第11章 MPEG声音.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第9章 数字电视基础.ppt
- 《多媒体技术基础》课程教学课件(英文讲稿)Chapter 7 Lossless Compression Algorithms.pdf
- 《多媒体技术基础》课程教学课件(PPT讲稿)第10章 MPEG概要.ppt
- 《计算机硬件技术基础》课程教学大纲 Computer Hardware Technology Foundation.doc
