欢迎来到天天文库
浏览记录
ID:58882946
大小:534.50 KB
页数:63页
时间:2020-09-30
《Java课件 第8章 对象和类.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章对象和类1动因学习过前几章的知识之后,你已经能够使用选择、循环、方法和数组解决很多程序设计问题。但是,这些Java的特性还不足够用来开发图形用户界面和大型软件系统。假设你希望开发一个如下所示的图形用户界面。该如何用程序实现它呢?2学习目标描述对象和类,使用类来建模对象(第8.2节)。使用UML图形符号来描述对象和类(第8.2节)。演示如何定义类以及如何创建对象(第8.3节)。使用构造方法创建对象(第8.4节)。通过对象引用变量访问对象(第8.5节)。使用引用类型定义引用变量(第8.5.1节)。使用对象成员访问操作符(.)来访问对象的数据和方法(第
2、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节)。3面向对象程序设计概念面向对象程序设计(OOP)就是使用对象进行
3、程序设计。对象(object)表示现实世界中可以明确标识的一个实体。例如:一名学生、一张桌子、一个圆、一个按钮,甚至一笔贷款都可以被视为对象。每个对象都有自己独特的标识、状态和行为。一个对象的状态是指那些具有当前值的数据域(也称为属性)的集合。一个对象的行为由一个方法的集合定义。4对象一个对象具有状态和行为。状态定义了对象而行为定义了对象做什么。5类类是定义相同类型对象的结构。Java类使用变量来定义数据域,而用方法来定义行为。此外,类还提供了一种特殊类型的方法,这种方法被称为构造函数,当你用类来构建对象时会调用构造方法。6类7UML类图8举例:定义类
4、和创建对象目标:演示创建对象、访问数据和使用方法。TestCircle1Run9举例:定义类和创建对象目标:演示创建对象、访问数据和使用方法。TestTVRunTV10构造方法Circle(){}Circle(doublenewRadius){radius=newRadius;}构造方法是一种特殊的方法,调用它来构造对象。11构造方法(续)没有参数的构造方法被称为无参构造方法。·构造方法必须具备和它所属类相同的名字·构造方法没有返回类型,甚至没有void。·构造方法是在使用new操作符创建一个对象时调用的。构造方法的作用就是初始化对象12使用构造方法创
5、建对象newClassName();举例:newCircle();newCircle(5.0);13默认构造方法一个类也可以被声明为没有构造方法。在这种情况下,类中隐式地定义了一个方法体为空的无参构造方法。这个构造构造方法被称为默认构造方法,当且仅当类中没有明确定义任何构造方法时系统才会自动提供它。14声明对象引用变量为了引用对象,给对象赋一个引用变量值。使用下面的语法声明一个引用变量:ClassNameobjectRefVar;(类名对象引用变量;)举例:CirclemyCircle;15一步完成对象的声明/创建ClassNameobjectRefV
6、ar=newClassName();例:CirclemyCircle=newCircle();创建对象赋值给对象引用16访问对象引用对象的数据:objectRefVar.data举例:myCircle.radius调用对象的方法:objectRefVar.methodName(arguments)举例:myCircle.getArea()17跟踪代码CirclemyCircle=newCircle(5.0);SCircleyourCircle=newCircle();yourCircle.radius=100;声明myCircle无值myCircle1
7、8跟踪代码(续)CirclemyCircle=newCircle(5.0);CircleyourCircle=newCircle();yourCircle.radius=100;无值myCircle创建一个circle19跟踪代码(续)CirclemyCircle=newCircle(5.0);CircleyourCircle=newCircle();yourCircle.radius=100;引用值myCircle将对象引用赋值给myCircle20跟踪代码(续)CirclemyCircle=newCircle(5.0);CircleyourCirc
8、le=newCircle();yourCircle.radius=100;引用值myCircl
此文档下载收益归作者所有