Java教案-第08章对象和类.docVIP

  • 19
  • 0
  • 约1.93万字
  • 约 10页
  • 2021-11-25 发布于天津
  • 举报
第8章对象和类 8.1 介绍(Introduction) 虽然我们已经学过了 Java基础知识,如选择,循环,方法和数组,但这些 Java 的特征对于我们开发图形用户接口和大规模的软件系统还远远不够。假设我们想 开发如图所示的GUI (goo-ee,我们如何编写? 从这章开始我们开始介绍面向对象编程,方便我们开发 Gui和大规范软件系统。 8.2定义类为Object类型 面向对象编程(Object-Oriented Programming OOP就是利用对象进行编写。对 象object代表现实世界中独一无二的一个实体。如,一个学生,一张桌子,一个 按钮,甚至一个贷款都可以被看着是对象。一个对象有它自己独有的特征,状态 和行为。 1. 2. 对象的状态(也称属性或特征)用包含当时数据的数据字段来表示。如一个圆 对象,有半径这个数据字段,它就是圆的特征和属性。一个矩形有高和宽两个特 征,作为矩形对象的2个字段。对象的行为(也称动作或操作)通过方法定义。 对象调用方法就是高手这个对象要执行一个动作。 如可以为圆对象定义一个getArea()方法,那么圆对象调用getArea()方法来返回圆 的面积。 我们可以用一个普通的类来定义一个同类型的对象。一个类就是一个模板,一个 蓝图或合同,它们定义一个对象的数据字段和方法。对象就是这个类的实例。我 们可以为类创建若干个对象,创建对象就是所谓的实例化。对象和实例经常相互 交叉。类和对象的关系就像是一个苹果派和一个苹果派配方一样。我们可以利用 配方制作很多苹果派,每个苹果派都不完全一样,有各自的作用。如图显示了一 个Circle类和它的三个对象。 匚Zs Name: Cin±: Data FitkJn: radius ” ” A制耳…[cmpl»u C irtlc Ofrijtxi 1 Grek Ob)cd 2 Cifvk Object 3 • 1 tirj€ rhj ecu oj the Circle dis DjiUl J it kJ耳 Dal* Fkkh Dall Fidd^ radiiinis 函 10 『dis H 25 raditi, n _12 \ Methods: get Area 一个Java类用变量来定义数据字段,用方法来定义操作或动作。类提供一种非常 特别类型的方法,称之为构造方法,也称构造器,这个构造方法的调用会创建一 个新对象。虽然一个构造方法可以执行任何动作,但构造方法的设计是用来为对 象的数据字段和方法进行初始化的,如下圆类的定义。 cl ass Circle { /** The radius of this circle */ double radi us - L.C; /** Constru匚t a ci rcle obje匚t */ Ci rcleO { } /** Construct a circle object *7 匚i rcletdouble newRadius) { radius = newRadius; } ― /** Return rhe of this clrcle */ double getAreaC) { — 「£turn radius * radius * Math・FJ; } } Dm ficlJ (.(instnjctors Method Circle类和我们之前见过的类都不同,它没有 main方法,也不能被运行,它仅仅 是定义了一个圆对象类。包含main方法的类,为了方便,以后我们称为主类。 类和对象用UML符号描述如下。 douhlw ctKhWlTe v 1 Ml. nti^Ihti nrliu%* 10 (ulIim. = 25 ndhB = 125 fur nhjc你 Circlet) Circle(n^wRadius; doubly oetArt^O ; double 8.3定义类和创建对象 程序创建3个圆对象,半径分别为1.0,2.5,125,显示每一个圆对象的半径和面 积,改变第二个圆的半径,并显示新面积和半径。 程序包含2个类,第一个类为TestCirclel为主类,它存在的意义就在于测试第二 个类。我们可以把这2个类放在同一个文件中,但只有一个类是公共类,而且文 件的名字要与公共类的名字一致。因此这个文件的名字为 TestCirclel.java,因为 TestCirclel 是 public 的。 1 publTestCirclel { main raethod public static void mainCString[] args) { // Create a circle Mi th radius 1_u Circlel circlel - n^w Circlclt): System.ou

文档评论(0)

1亿VIP精品文档

相关文档