第三章 建立面向对象的编程思想
主要知识点:
1、理解面向对象编程的基本思想。
2、掌握面向对象编程的一般方法。
3、能够运用Java语言编写简单的应用程序。
学习目标:
掌握面向对象编程的基本思想
解释:面向过程编程 从解决每一个步骤入手,适合于解决比较小的简单问题;面向对象编程的设计方法则是按照现实世界的特点来管理复杂的事务,把它们抽象为对象,把每一个对象的状态和行为封装在一起,通过对消息的反应来完成一定的任务。
面向对象编程方法主要解决两个方面的问题:
(1)避免程序的重复利用,共享代码,增加程序的开发速度。
(2)降低维护难度,将具有独立性的代码封装起来,在修改部分程序代码时,不会影响到程序的其他部分。
3.1 面向对象的思想
3.1.1 面向对象的基本概念
面向对象的程序设计语言必须有描述对象以及其相互之间关系的语言成分。归结为以下几类:系统中的一切皆对象。对象是什么?对象是属性及其操作的封装体。主要概念如下:
(1)对象:从简单的整数到复杂的飞机等均可以看作是对象,不仅表示具体的事物,还可以表示抽象的规则,计划或事件。
(2)对象的状态和行为:数值是对象的状态,操作是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。
(3)类:具有相同或相似性质的对象的抽象就是类。
(4)类的结构:客观世界中存在若干类,这些类中存在一定的结构关系。通常有两种主要的结构关系,即一般与具体、整体与部分的结构关系。类中操作的实现过程称为方法,一个方法包括方法名、参数、方法体。
(5)消息和方法:对象之间进行通信的结构称为消息。
3.1.2 面向对象思想的基本特征
1、唯一性:每个对象都有唯一的标识,标识不会改变,不同的对象不能有相同的标识;
2、分类型:具有一致的数据结构(属性)和行为(操作)的对象抽象成为类。任何类的划分都是主观的,但必须与具体的应用有关;
3、继承性:子类自动共享父类数据结构和方法的机制,这是类之间的一种关系;在类层次中,子类只继承一个父类的数据结构和方法,则称为单一继承,子类集成多个父类的数据结构和方法,则称为多重继承。
4、多态性:相同的操作、函数或过程可作用于多种类型的对象上并获得不同的结构,不同的对象。
3.1.3 面向对象思想的基本要素
1、抽象:抽象是指强调实体的本质,内在的属性。使用抽象可以尽可能避免过早的考虑一些细节。
2、封装性:类定义将其说明与实现,显式地分开,其内部实现按其作用域提供保护。对象是封装的最基本单位,封装防止了程序相互依赖性而带来的变动影响。面相对象的封装比传统语言的封装更加清晰。
3、共享性:???
3.2 面向对象的编程方法
3.2.1 面向对象编程的基本步骤
面向对象编程通常要经过9个步骤:
(1)分析确定在问题空间和解空间出现的全部对象及其属性;
(2)确定应施加于每个对象的操作,即对象固有的处理能力;
(3)分析对象间的联系,确定对象彼此间传递的消息;
(4)设计独享的消息模式,消息模式和处理能力共同构成对象的外部特性;
(5)分析各对象的外部特性,将具有相同外部特性的对象归为一类,从而确定所需要的类。
(6)确定类间的继承关系,将各对象的共同性质放在较上层的类中描述,通过继承来共享对共同性质的描述。
(7)设计每个类关于对象外部特性的描述。
(8)设计每个类的内部实现(数据结构和方法)
(9)创建所需的对象(类的实例),实现对象间的联系(发消息)。
3.3.2 主要概念解析
1、对象、类和消息
对象是变量和相关方法的集合,其中变量是对象的状态,方法表示对象所具有的行为。也就是说面向对象的程序设计实现了对对象的封装,使用者不必关心对象的行为是如何实现的。
2、继承
通过对象、类,可以实现封装,通过子类则可以实现继承;
3、抽象与接口
抽象化的概念被提出,是为了降低程序版本更新后,在维护方面的负担,使功能的提供者和功能的使用者能够彼此分开,各自独立,互不影响。接口定义了功能数量、函数名称、参数顺序等。是一个声明属性、事件和方法的编程结构。只提供定义,并不实现这些成员,而是留给用户自己扩充。
4、多态
通过方法重载和方法覆盖来实现多态。首先一个类中可以包含多个重名的方法。但是参数不允许完全相同。其中方法重载可以具有多个相同名字的方法,通过参数来区别哪一个方法。在方法覆盖中,子类可以实现父类的某些方法,使其具有自己的特征。
3.3.3 类的实现
一个类包含类声明和类体两部分内容。
1、类声明
一个最简单的类声明如下:
public class simple { }
2、类体
类体中定义了类的所有属性(变量)和类所支持的方法(函数),通常属性在方法前定义。例如:
class 类名{ 属性声明; 方法声明; }
3、属性
最简单的属性声明格式为:
类型 属性名;
注意:在方法中声明的局部变量是不同的,局部变量的作用域只是方法内部。使用final来声明一个常量。常量通常使用大写字母来定义;
习题
一、简单题
1、面向对象思想有哪些基本特征?
2、面向对象思想包括哪些基本要素?
3、面向对象编程需要哪些步骤?
4、什么是类?类由哪些成分构成?
5、解释以下概念:类、对象、继承、封装、抽象。
二、操作题
1、定义一个类Person,并设置若干成员变量和成员方法;
2、定义一个类Teacher,并设置若干成员变量和成员方法;
3、分析Teacher和Person的关系;
标签:封装,对象,编程,---,面向对象,面向对象编程,方法,属性 From: https://www.cnblogs.com/kuangmeng/p/18312688