Java语言程序设计3-2-java第三章(类与对象)

更新时间:2023-07-26 07:09:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java语言程序设计

第3章

类与对象

第3章 类与对象3.1 面向对象的基本思想和基本概念3.2 案例 3.3 类的声明与对象的创建 3.4 继承 3.5 包的使用

3.6 编程实例实训三 面向对象程序设计 习题三

Java语言程序设计

第3章

类与对象

3.1 面向对象的基本思想和基本概念大部分传统的高级程序设计语言(如C语言)都是过 程化的语言,在软件开发的过程中采用自顶向下逐步 细化的方法将整个程序描述为一个过程。对于小型的 系统,这种方法是可行的,但是当系统规模很大,复 杂度很高时,用过程化方法描述变得十分困难,面向 对象的软件开发方法可以很好地解决这个问题。

Java语言程序设计

第3章

类与对象

目前,面向对象的方法在软件开发工作中得到了 广泛的应用,越来越多的软件开发工具开始支持面向

对象的开发方法。Java语言就是一种面向对象的程序设计语言,要充分利用Java语言的特性首先应该理解 面向对象的基本思想。

Java语言程序设计

第3章

类与对象

3.1.1 面向对象的基本思想面向对象的基本思想认为系统是由若干个对象构 成的,每个对象都有各自的内部状态和运动规律,不 同对象之间通过消息传送相互作用和联系。 采用对象的观点看待所要解决的问题,并将其抽

象为系统是极其自然与简单的,因为它符合人类的思维习惯,使得应用系统更容易理解。同时,由于应用 系统是由相互独立的对象构成的,使得系统的修改可

以局部化,因此系统更易于维护。

Java语言程序设计

第3章

类与对象

例如,对于一个企业的管理信息系统,将整个系统描述成一个过程是难以想像的,但可以分别描述各 个部门的特性及工作流程,然后描述部门之间的联系。 这里各个部门就是组成企业的对象,当然,在描述每 个部门特性时可以采用同样的方法。

Java语言程序设计

第3章

类与对象

3.1.2 对象与类对象是面向对象方法中的一个重要概念。所谓对 象,是指客观世界中事物在计算机领域中的抽象,用 一组数据和施加于该组数据上的一组操作(行为)来描述。 对象的描述通常由三个部分组成: (1) 私有的数据结构。用于描述对象的内部状态。 (2) 处理,称为操作或方法。它是施加于数据结构 之上的。 (3) 接口。这是对象可被共享的部分,消息通过接 口调用相应的操作。接口规定哪些操作是允许的,它 不提供操作是如何实现的信息。

Java语言程序设计

第3章

类与对象

实际上,采用面向对象方法进行系统分析与设计 时要描述的并不是一个个具体的对象。对于一个具体 的系统而言,可能存在很多具有相同特征的对象,而 且通常系统中对象的数目是不确定的。例如,对于一 个学籍管理系统,存在许多学生对象,它们具有相同

的结构特征和行为特征,只是表示内部

状态的数据值不同。为了描述这种相同结构特征和行为特征的对象, 面向对象方法引入了类的概念。这一点与人们在认识

客观世界的事物时所采取的分类思想相同。人们在认识事物时总是将具有相同特征的事物归为一类,属于 某类的一个事物具有该类事物的共同特征。

Java语言程序设计

第3章

类与对象

类是对一组具有相同特征的对象的抽象描述,所 有这些对象都是这个类的实例。对于学籍管理系统, 学生是一个类,而一个具体的学生则是学生类的一个 实例。一个类的不同实例具有相同的操作或行为的集 合和相同的信息结构或属性的定义,但属性值可以不

同;不同的实例具有不同的对象标识。对于学生类中的每一个对象,描述它们所使用的数据结构相同,但 是值不同。在程序设计语言中,类是一种数据类型,

而对象是该类型的变量,变量名即是某个具体对象的标识。

Java语言程序设计

第3章

类与对象

因此,一个类的定义至少包含以下两个方面的描述:(1) 该类所有实例的属性或结构的定义。 (2) 该类所有实例的操作(或行为)的定义。 类是构成Java语言程序的基本单位,一个完整的 Java程序是由若干个类构成的,每个类由若干数据和方

法构成,一个类的定义包含属性(数据)和方法(行为)两部分内容。

Java语言程序设计

第3章

类与对象

3.1.3 继承性人们在对客观世界的事物进行描述时,经常采取分 类的方法。类是有层次的,即某个大类的事物可能分为 若干小类,而这些小类可能又分为若干个更小的类。 面向对象思想采纳了事物分类的层次思想,在描述 类的时候,某些类之间具有结构和行为的共性。例如, 描述教师与学生时均需描述姓名、年龄、身高、体重等 属性,将这些共性抽取出来,形成一个单独的类——人,

用于描述教师类和学生类的共性。类人的结构特征和行为特征可以被多个相关的类共享,教师类和学生类继承 了类人的结构和行为特征。

Java语言程序设计

第3章

类与对象

Java语言支持类的继承,可以从一个类中派生出 一个新的类,原来的类称为超类或父类,新类称为超 类的子类或派生类。子类的对象具有超类对象的特征, 同时又有其自身特有的特征。子类又可以派生出新的 子类,子类的子类也称为派生类。 利用类之间的继承关系,可以简化类的描述,提 高软件代码的可重用性。在设计一个新类时,不必从 头设计编写全部的代码,可以通过从已有的具有类似

特性的类中派生出一个类,继承原有类中的部分特性,再加上所需的新特性。

Java语言程序设计

第3章

类与对象

另外,人们在对客观世界的事物进行分类时,一 个事物可能属于多个类,具有多个类的特性。例如, 一个黑人学

生,他既属于学生类,又属于黑人类。这 种情形在面向对象方法中称为多继承,即一个类同时 从多个类中派生出来,此时类的层次结构是网状的。

Java语言为了不使语法过于复杂,不支持多继承,只允许子类有一个超类,称为单继承。不过,Java语 言提供了接口机制,可以在一定程度上模拟多继承。

Java语言程序设计

第3章

类与对象

3.1.4 多态性 多态性是面向对象系统的又一重要特性。所谓多

态,即一个名词可具有多种语义,如一个方法名有多种功能,或者相同的接口有多种实现方法。 在Java语言中,多态性通过方法的重载、覆盖和接 口来实现。 方法的重载是指多个方法具有相同的名称 ,但各 个方法的参数表不同,即参数的类型和参数的数量不 同。有关重载的问题将在3.3.5节讨论。

Java语言程序设计

第3章

类与对象

覆盖是指在类的派生过程中,子类与超类的方法不仅名称相同,参数也完全相同,但它们的功能不同, 这时子类中的方法覆盖了超类中同名的方法。 接口实际上是一种特殊的类,只给出方法的名称、 参数和返回值的类型,方法的具体实现在实现该接口 的类中给出。在3.4.3节将详细介绍Java语言中接口的 使用方法。 多态性使得方法的调用更加容易、灵活和方便。

Java语言程序设计

第3章

类与对象

3.1.5 封装 封装是一种信息隐藏技术,对象内部对用户是隐 藏的,不可直接访问;用户只能见到对象封装界面上 的信息,通过对象的外部接口访问对象。用户向对象 发送消息后,对象根据收到的消息调用内部方法作出

响应。封装的目的在于将对象的使用者和对象的设计者分开,使用者无需知道对象内部实现的细节,只需 知道对象接收的消息即可。

Java语言程序设计

第3章

类与对象

Java语言通过类来实现封装,类中定义的属性和方法分为私有的和公有的,私有属性和方法不能在对 象的外部访问,只能由类内的方法访问。而在对象的 外部,只能访问对象的公有属性和方法,只需要知道 公有属性的数据类型和名字以及公有方法的原型,至 于这些方法是如何实现的对象外部并不需要知道。这 就像人们在使用电视机时只需要通过遥控器来操作即 可,至于电视机内部细节用户则无需知道,这里遥控 器上的按钮实际上就是电视机的外部接口。 对象的封装特性可以提高模块之间的独立性,使 得系统易于调试和维护。

Java语言程序设计

第3章

类与对象

3.2 案 例第2章给出了一些完整的Java应用程序的例子,但 这些例子并没有使用Java语言面向对象的特性,程序 的结构与C语言程序类似。下面的程序中定义了两个类, 读者可以从中了解一个典型的Java程序的结构。

Java语言程序设计

第3章

类与对象

【程序3.1】 一元二次方程求解

。//Equation.java //ch3_1 一元二次方程求解 import java.math.*;

class ComplexRoot{double a,b,disc; public ComplexRoot(double a,double b,double disc) {

Java语言程序设计

第3章

类与对象

this.a=a;this.b=b; this.disc=disc;

}void Print(){ double real=-b/(2*a);

double image=Math.sqrt(-disc)/(2*a);System.out.println("两个复根:"+real+"+"+image+"i,"+real+""+image+"i");

}}

本文来源:https://www.bwwdw.com/article/bl4m.html

Top