面向对象程序设计概述
1.1.1 一种新的程序设计概述
面向对象程序设计是一种新的程序设计的范型
(程序设计的范型指设计程序的规范、模型和风格)
-
[ 范型的主要特征:程序由过程定义和过程调用组成 ]
-
[ 程序 = 过程 + 调用 (基于面向过程的程序)
程序 = 对象 + 消息 (面向对象程序设计) ] -
[ 基本元素:对象 ]
-
[ 主要结构特点]
第一:程序一般由类的定义和类的使用组成
第二:程序中的一切操作都是通过想对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。
1.1.2.面向对象程序设计的基本概念
1. 对象
-
[数据 + 操作(方法)]
[属性 + 行为]
行为:静态的属性 (可用数据描述)动态的行为(或称操作 \ 功能) -
特性
① 每一个对象必须有一个名字以区别于其他对象;
② 用属性来描述对象的某些特征;
③有一组操作,每组操作决定对象的一种行为;
④对象的行为分为两类:一类作用于自身的行为,一类作用于其他对象的行为。 -
当一个对象映射为软件实现时由三个部分组成:
①私有的数据结构:用于描述对象的内部空间
②处理
③接口:对象可被共享的部分
2.类
是一组具有相同属性和行为的对象的抽象。 类是对多个对象进行综合抽象的结果,对象又是类的个体实现,一个对象时类的一个实例。
在面向对象程序设计中:总是先声明类,再由类生成其对象。
- 类的定义至少包含以下两方面的描述:
①该类所有实例的属性定义或结构的定义
②该类所有实例的操作(或行为)的定义
例:教师xx时一个对象
对象名:x x
属 性: 年龄:45 学历: 博士
职称:教授 专业:计算机软件
操 作:走路、超级烦、授课
3.消息与方法
消息:
一个对象向另一个对象发出的请求
消息传递:
一个对象与另一个对象的交互
消息性质:
(1)同一个对象可以接收不同形式的多个消息,做出不同的响应
(2)相同形式的消息可以传递给不同的对象,所做出的响应可以是不同的
(3)对消息的响应并不是必需的,对象可以响应消息,也可以不响应
方法:
对象所能实现的行为(操作)
方法包括界面和方法体
界面:给出了方法名和调用协议(相当于成员函数的函数名和参数表)
方法体:实现某种操作的一系列计算步骤
消息与方法的关系:
对象根据接收到的消息,调用相应的方法;反之,有了方法,对象才能响应相应的消息。
1.1.3. 面向对象的基本特征
1.抽象
将有关事物的共性归纳、计中处理的过程。是通过特定的实例(对象)抽象共同性质后形成概念的过程。
数据描述:
描述某类对象的属性或状态。
代码描述(行为描述):
描述了某类对象的共同行为特征或具有的共同功能。
2.封装
消息隐藏技术,对象内容对用户时隐藏的,用户只能见到对象的封装界面上的信息,通过对象的外部接口访问对象。指把数据和实现操作的代码集中起来放在对象内部,并尽可能隐藏对象的内部细节。
继承机制允许派生类继承基类的数据和操作,同时,派生类还可以增加新的操作和数据。
目的:
在于将对象的使用者和对象的设计者分开
三个条件:
①一个清楚的边界
②一个接口:用以描述这个对象和其他对象之间的相互作用
③受保护的内部实现
3.继承
所表达的是对象类之间相关的关系
特性:
(1)类间具有共享特征(包括数据和操作代码的共享)
(2)类间具有差别或新增部分(包括非共享的数据和操作代码)
(3)类间具有层次结构
目的:
提高了软件代码的可重复性
作用:
(1)避免公用代码的重复开发,减少代码和数据的冗余
(2)通过增强一致性来减少模块之间的接口和界面
单继承:
指每个派生类只直接继承了一个积累的特征。
多继承:
指多个基类派生出一个派生类的继承关系。
4.多态
多态性是指不同的对象接收到享用的消息时执行不同的操作。
编译时的多态性:
通过函数的重载(包括运算符的重载)来实现
运行时的多态性:
通过虚函数来实现的
本文介绍面向对象程序设计,它是新的程序设计范型,基本元素是对象,程序由类定义和使用组成,操作通过消息实现。阐述了对象、类、消息与方法等基本概念,还介绍了面向对象的抽象、封装、继承、多态四个基本特征。

1152

被折叠的 条评论
为什么被折叠?



