文档介绍:VC++语言程序设计
第一章
面向过程的设计:分析出解决问题所需要
的步骤,然后用函数把这些步骤一步一步实
现,使用的时候再一个一个依次调用。这类语
言只关心求解过程,不关心计算机的内部结
构。
面向对象的设计:是把构成问题的事务分
解成各个对象,以对象作为基本程序设计单
位,建立对象的目的不是为了完成一个步骤,
而是为了描叙某个事物在整个解决问题的步骤
中的行为。
第一章
面向对象的设计与面向过程的设计是有很
大区别的,面向对象的语言更接近于自然语言,
面向对象的程序设计是在面向过程的程序设计
的基础上一个质的飞跃。
C++语言是一种应用较广的既面向对象又
面向过程的混合型程序设计语言,学习C++语言
首先要认识它面向对象的特性和实现面向对象
的方法。
第一章 C++ 语言概述
第一章
一、面向对象程序设计的基本思想和有关概念
1、面向对象的由来和发展:
20世纪50年代中期,出现了高级的程序设计语言
FORTRAN,它在计算机语言发展史上具有划时代的意
义。该语言引进了许多现在仍然使用的程序设计概
念,如变量、数组、循环等。
20世纪50年代后期,高级语言Algol 60 提出了块
结构的思想,这实际上也是一种初级的封装。
20世纪60年代开发的Simula 67,提出了对象及类
的概念,还支持类的继承,它是面向对象语言的鼻
祖。
20世纪70年代出现的Smalltalk语言丰富了面向对
第一章
的概念,是最有影响的面向对象的语言之一。
20世纪80年代中期以后,面向对象的程序设计语
言广泛地应用于程序设计,并且有许多新的发展,归
纳起来,大致可分为如下两类:
(1) 开发全新的面向对象的语言, 具有代表性的语
言有Object-C、Eiffel、Smalltalk。
(2) 对传统语言进行面向对象的扩展,这类语言又
称混合型语言,最有代表性的就是C++语言。
第一章
2、面向对象抽象的原理:
面向对象抽象的原理概括了面向对象计算的本质。
抽象:是通过从特定的实例中抽取共同的性质以形
成一般化的概念的过程。它是人们在理解复杂现象和
求解复杂问题中处理复杂性的主要工具。
(1)、数据抽象:
数据抽象包含了两个概念:模块化和信息隐藏。它
们是相互独立的又是密切相关的,是面向对象方法的
核心。
模块化:是将一个复杂的系统分解为若干个模
块,每个模块与系统中某个特定模块有关的信息保持
在该模块内。这种设计方法构成了面向对象计算的本
质。
第一章
信息隐藏:是指将一个模块的细节部分对用户隐
藏起来,用户只能通过一个受保护的接口来访问某个
模块,而不能直接地访问一个模块内部的细节。它是
复杂问题处理中的一种主要工具。
⑵、行为共享: 是指许多实体具有相同的接口。分
类和层次分类是支持行为共享的最为明显的方式。
⑶、进化:是考虑到实际中的需求进化及进化式的问
题求解。
⑷、确定性:是指用于描述一个系统确定的行为。这
对一个大型系统或者复杂系统尤为重要,特别是行为
共享和进化等机制增加了确保确定性的困难。
第一章
3、面向对象的基本特征:
面向对象是运用一些新方法和新概念来构造系统的
软件开发方法,包含三个要素:对象、类和继承。
⑴、对象:一般地认为,对象就是一种事物,一个实
体。而在面向对象的领域中, 从两个角度来理解:
从概念上来说,对象是代表着正在创建的系统中
的一个实体,是软件系统的基本构成单位。
从实际形式上来说,对象是数据和操作(方法)的
封装体。数据表示了描述对象静态特性的属性(数据结
构的内容和值的定义),而操作是描述对象动态特性
的行为(一系列的函数实现步骤)。
第一章
⑵、类:是创建对象的样板,它包含着所创建对象的
数据描述和操作的定义。
由一个特定的类所创建的对象被称为这个类的实
例。因此类是具有相同属性对象的描述,它是具有共
同行为和属性的若干对象的统一描述体,同时类中要
包含生成对象的具体方法。
类是抽象数据类型的实现。一个类的所有对象都
有相同的数据结构,并且共享相同的实现操作的代
码,而各个对象有着各自不同的状态。因此,类是所
有对象的共同的行为和不同状态的集合体。