面向对象程序设计概述
一、什么是面向对象程序设计
1. 一种新的程序设计范型
(1)程序设计范型是指设计程序的规范、模型和规格,它是一类程序设计语言的基础。
(2)面向过程程序设计范型:程序=过程+调用
(3)面向对象程序设计范型:程序=对象+消息
2. 面向对象程序设计的基本概念
a.对象
(1)一个对象是一个客观存在的实体
(2)实体有两个属性:数据属性(静态)、行为属性(动态)
(3) 数据与数据处理过程作为一个整体——对象
(4)C++采用类来支持对对象,同类对象实体抽象出其共性形成(数据类型),类封装了数据与处理数据的过程(函数)
b.类
(1)类是对具有相同数据结构和相同操作的一类对象的描述。
(2)在C++语言中把类中的数据称为数据成员,类中的操作是用函数来实现的,这些函数称为成员函数
(3)在面向对象程序设计中,总是先声明类,再由类生成其对象。
c.消息与方法
(1)在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。
(2)当对象接收到发向它的消息时,就调用有关的方法,执行相应的操作。
3. 面向对象程序设计的基本特征
a.抽象
抽象是将有关事物的共性归纳、集中的过程。
b.封装
封装是指把数据和实现操作的代码集中起来放在对象内部,并尽可能隐蔽对象的内部细节。
c.继承
(1) C++采用继承支持重用。
(2)可通过继承现有类,并对其进行扩展,生成新类,即新类是从现有类派生出来的,生成派生类。
d.多态
面向对象系统的多态性是指不同的对象收到相同的消息时执行不同的操作。
二、为什么要使用面向对象程序设计
1. 传统程序设计方法的局限性
(1)传统程序设计开发软件的生产效率低下
(2)传统程序设计难以应付日益庞大的信息量和多样的信息类型
(3)传统程序设计难以适应各种新环境
2. 面向对象程序设计方法的主要优点
(1)可提高程序的重用性
(2)可控制程序的复杂性
(3)可改善程序的复杂性
(4)可改善程序的可维护性
(5)能够更好地支持大型程序设计
(6)增强了计算机处理信息的范围
(7)能很好的适应新的硬件环境
三、面向对象程序设计的语言
1. 面向对象程序设计语言的发展概况
现在公认的第一个真正面向对象程序设计语言是Smalltalk。它是由美国的Xerox公司与20世纪70年代初研制的。
2. 几种典型的面向对象程序设计语言
Smalltalk 语言
Simula 语言
C++ 语言
Java 语言
C# 语言