Jav最新实用教程 第三章类和对象
Java最新实用教程 第三章类和对象
Jav最新实用教程 学习目的: ■了解面向对象基本概念 掌握类的创建和使用 掌握对象的创建与使用 了解参数的传递 了解匿名对象 学习重点 掌握类的创建和使用 掌握对象的创建与使用 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 2 ⚫ 学习目的: ▪ 了解面向对象基本概念 ▪ 掌握类的创建和使用 ▪ 掌握对象的创建与使用 ▪了解参数的传递 ▪了解匿名对象 ⚫ 学习重点: ▪掌握类的创建和使用 ▪ 掌握对象的创建与使用
Jav最新实用教程 第三章类和对象 本章提要: 面向对象基本概念 类的创建和使用 对象的创建与使用 参数的传递 匿名对象 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 3 第三章 类和对象 本章提要: • 面向对象基本概念 • 类的创建和使用 • 对象的创建与使用 • 参数的传递 • 匿名对象
Jav最新实用教程 31面向对象的程序设计方法概述 面向对象程序设计标志着程序设计思想发展到一个新的高 度,它用一种更符合人们认识客观世界的思维方式进行程 序设计:相对于面向过程的程序设计以研究问题的解决过 程为主体,面向对象编程是以对象为主体,使编程富于创 造性,提高了程序的可重用性,简化了编程过程,同时也 使程序更易于维护 311抽象 抽象是人们解决问题的主要手段,也是面向对象程序设计 解决实际问题法宝之一。所谓抽象就是指从众多的事物 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 4 3.1 面向对象的程序设计方法概述 3.1.1 抽象 抽象是人们解决问题的主要手段,也是面向对象程序设计 解决实际问题法宝之一。所谓抽象就是指从众多的事物 面向对象程序设计标志着程序设计思想发展到一个新的高 度,它用一种更符合人们认识客观世界的思维方式进行程 序设计:相对于面向过程的程序设计以研究问题的解决过 程为主体,面向对象编程是以对象为主体,使编程富于创 造性,提高了程序的可重用性,简化了编程过程,同时也 使程序更易于维护
Jav最新实用教程 中舍弃个别的、非本质的属性,抽出共同的、本质的属 性的过程。是面向对象程序设计的核心概念。 用面向对象编程解决现实世界的问题时,首先是利用抽 象技术将现实世界中的各种实体,归纳总结出共性的东 西形成一类实体的基本特征。这些特征包括属性和行为 ,这些本质属性和方法的有机组合,就是面向对象方法 中的类。 312封装 封装性是面向对象编程的基本特性之一,它通过封装隐蔽 了对象的内部实现细节。对象的封装有两个方面: 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 5 中舍弃个别的、非本质的属性,抽出共同的、本质的属 性的过程。是面向对象程序设计的核心概念。 用面向对象编程解决现实世界的问题时,首先是利用抽 象技术将现实世界中的各种实体,归纳总结出共性的东 西形成一类实体的基本特征。这些特征包括属性和行为 ,这些本质属性和方法的有机组合,就是面向对象方法 中的类。 3.1.2 封装 封装性是面向对象编程的基本特性之一,它通过封装隐蔽 了对象的内部实现细节。对象的封装有两个方面:
Jav最新实用教程 方面表示对象的属性和方法是不可分割的整体。对象 的属性和方法封装为一体具有重要的意义,因为它反映 了对象同时具有了客观事物的静态特征和动态行为相统 的客观规律,使软件对客观事物的描述更接近人类表 述;而过去的面向过程的编程语言都是将功能和数据相 分离,使软件对客观事物的描述存在偏差,很难自然地 用语言表达客观事物的对应关系。 另一方面,封装还表示对象内部细节的隐蔽性。对内部 细节的隐蔽性反映了事物客观的相对独立性,这样既可 以防止外界的干扰,又可以降低复杂性。在java语言中 对象、类和包逐层封装,为管理大量的对象和类提供 了方便,也增强了语言的安全性。隐藏了内部细节也使 得java的使用者和设计者分离,使用者只需用接口去满 足软件重用的策略,可以降低软件开发成本,缩短开发 周期,是软件的开发和维护得到根本性的改善
Java最新实用教程 2021年2月20日星期六 6 一方面表示对象的属性和方法是不可分割的整体。对象 的属性和方法封装为一体具有重要的意义,因为它反映 了对象同时具有了客观事物的静态特征和动态行为相统 一的客观规律,使软件对客观事物的描述更接近人类表 述;而过去的面向过程的编程语言都是将功能和数据相 分离,使软件对客观事物的描述存在偏差,很难自然地 用语言表达客观事物的对应关系。 另一方面,封装还表示对象内部细节的隐蔽性。对内部 细节的隐蔽性反映了事物客观的相对独立性,这样既可 以防止外界的干扰,又可以降低复杂性。在java语言中 ,对象、类和包逐层封装,为管理大量的对象和类提供 了方便,也增强了语言的安全性。隐藏了内部细节也使 得java的使用者和设计者分离,使用者只需用接口去满 足软件重用的策略,可以降低软件开发成本,缩短开发 周期,是软件的开发和维护得到根本性的改善
Jav最新实用教程 访问对象,而不必知道对象的内部细节。 从软件工程的角度讲,封装也符合模块化设计原则,满足 软件重用的策略,可以降低软件开发成本,缩短开发周期 ,是软件的开发和维护得到根本性的改善。 3.1.3继承 面向对象程序设计的另一重要特点是类的继承性。继承是 让一个类成为另一个类的子类,子类继承父类的所有特性 ,并可以扩充自己的特性。这种关系为共享数据和操作提 供了一种良好的机制。继承提高了软件的重用性、可用性 和界面的一致性。 根据继承的特性,可以将继承分为如下两种主要形式: 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 7 访问对象,而不必知道对象的内部细节。 从软件工程的角度讲,封装也符合模块化设计原则,满足 软件重用的策略,可以降低软件开发成本,缩短开发周期 ,是软件的开发和维护得到根本性的改善。 3.1.3 继承 面向对象程序设计的另一重要特点是类的继承性。继承是 让一个类成为另一个类的子类,子类继承父类的所有特性 ,并可以扩充自己的特性。这种关系为共享数据和操作提 供了一种良好的机制。继承提高了软件的重用性、可用性 和界面的一致性。 根据继承的特性,可以将继承分为如下两种主要形式:
Jav最新实用教程 (1)直接继承和间接继承。如果类c的定义直接继承于类 b,则称c直接继承于b,且b是c的直接父类;如果又有b类 又直接继承于a类,则可称c类间接继承于a类。间接继承 体现了继承关系的可传递性。 (2)单继承和多继承。如果一个类只有一个直接父券)岁 则称该关系为单继承;如果一个类有多于一个以上的父 ,则称该继承关系为多继承。Java语言只支持单继承,而 不支持多继承。 314多态 多态性也是面向对象编程的一个特性,它反映了现实世界 中谋类事物中的每个实体,都具有一些不同于其它实体的 某些方面,也是针对于类中有相似功能的 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 8 (1)直接继承和间接继承。如果类c的定义直接继承于类 b,则称c直接继承于b,且b是c的直接父类;如果又有b类 又直接继承于a类,则可称c类间接继承于a类。间接继承 体现了继承关系的可传递性。 (2)单继承和多继承。如果一个类只有一个直接父类, 则称该关系为单继承;如果一个类有多于一个以上的父类 ,则称该继承关系为多继承。Java语言只支持单继承,而 不支持多继承。 3.1.4 多态 多态性也是面向对象编程的一个特性,它反映了现实世界 中谋类事物中的每个实体,都具有一些不同于其它实体的 某些方面,也是针对于类中有相似功能的
Jav最新实用教程 不同方法以同一方法名来定义。这样,可以用相同 的方式调用不同的同名方法。JaVa中通过方法的重写 和方法重载类实现多态。 32类 类是组成jav程序的基本要素,也是java程序设计 的重要思想表现。作为程序的基本要素,类封装了 某个对象范畴的状态和方法,可以看作定义对象的 模板。 321类声明 类声明的最一般格式为: [类修饰符] class类名[ extends父类名] [imp1职eL, [,接口名]
Java最新实用教程 2021年2月20日星期六 9 不同方法以同一方法名来定义。这样,可以用相同 的方式调用不同的同名方法。Java中通过方法的重写 和方法重载类实现多态。 3.2 类 类是组成java程序的基本要素,也是java程序设计 的重要思想表现。作为程序的基本要素,类封装了 某个对象范畴的状态和方法,可以看作定义对象的 模板。 3.2.1 类声明 类声明的最一般格式为: [ 类 修 饰 符 ] class 类 名 [ extends 父 类 名 ] [implements [,接口名]
Jav最新实用教程 //类体 其中,[]中的元素表示可选项。大括号对“{}”及之间 的内容为类体。类修饰符表示类的性质,主要是对于访问 权限的限定。类的修饰符主要有: Public公共类修饰符。表示可以被相同包中的类 继承或访问,而不同包中的类也可以通过 import引用后再 继承或访问。 ●Fina1终结类修饰符。这将在第五章介绍。 Abstract抽象类修饰符。它没有方法的实现,也 没有构造方法。不能用new运算符实例化。不能被继承 也将在第五章进行详细介绍。 2021年2月20日星期六
Java最新实用教程 2021年2月20日星期六 10 { …//类体 } 其中,[ ]中的元素表示可选项。大括号对“{}”及之间 的内容为类体。类修饰符表示类的性质,主要是对于访问 权限的限定。类的修饰符主要有: ⚫ Public 公共类修饰符。表示可以被相同包中的类 继承或访问,而不同包中的类也可以通过import引用后再 继承或访问。 ⚫ Final 终结类修饰符。这将在第五章介绍。 ⚫ Abstract 抽象类修饰符。它没有方法的实现,也 没有构造方法。不能用new运算符实例化。不能被继承。 也将在第五章进行详细介绍