|
1.5 面向对象和Windows编程 面向对象技术是目前流行的系统设计开发技术,它包括面向对象分析和面向对象程序设计。面向对象程序设计技术的提出,主要是为了解决传统程序设计方法——结构化程序设计所不能解决的代码重用问题。 结构化程序设计从系统的功能入手,按照工程的标准和严格的规范将系统分解为若干功能模块,系统是实现模块功能的函数和过程的集合。由于用户的需求和软、硬件技术的不断发展变化,按照功能划分设计的系统模块必然是易变的和不稳定的。这样开发出来的模块可重用性不高。 面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务(功能)为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。 面向对象程序设计同结构化程序设计相比最大的区别就在于:前者首先关心的是所要处理的数据,而后者首先关心的是功能。 面向对象程序设计是一种围绕真实世界的概念来组织模型的程序设计方法,它采用对象来描述问题空间的实体。关于对象这一概念,目前还没有统一的定义。一般的认为,对象是包含现实世界物体特征的抽象实体,它反映了系统为之保存信息和(或)与它交互的能力。它是一些属性及服务的一个封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”这一公式来表达。 类是具有相同操作功能和相同的数据格式(属性)的对象的集合。类可以看作抽象数据类型的具体实现。抽象数据类型是数据类型抽象的表示形式。数据类型是指数据的集合和作用于其上的操作的集合,而抽象数据类型不关心操作实现的细节。从外部看,类型的行为可以用新定义的操作加以规定。类为对象集合的抽象,它规定了这些对象的公共属性和方法;对象为类的一个实例。苹果是一个类,而放在桌上的那个苹果则是一个对象。对象和类的关系相当于一般的程序设计语言中变量和变量类型的关系。 消息是向某对象请求服务的一种表达方式。对象内有方法和数据,外部的用户或对象对该对象提出的服务请求,可以称为向该对象发送消息。合作是指两个对象之间共同承担责任和分工。 面向对象的编程方法具有四个基本特征: 1.抽象: 2.继承: 3.封装: 4. 多态性: 面向对象程序设计具有许多优点:
Windows的最初开发是在80年代早期,在C++出现之前,但是当时已经提出了面向对象式的程序设计思想。Windows的开发者们已经意识到将界面上不同的项看作对象的好处,但是他们仍然被迫采用传统的C语言来处理这些对象。在Windows的界面设计和软件开发环境中,可以说处处贯穿着面向对象的思想。 在Windows中,程序的基本单位不是过程和函数,而是窗口。一个窗口是一组数据的集合和处理这些数据的方法和窗口函数。从面向对象的角度来看,窗口本身就是一个对象。Windows程序的执行过程本身就是窗口和其他对象的创建、处理和消亡过程。Windows中的消息的发送可以理解为一个窗口对象向别的窗口对象请求对象的服务过程。因此,用面向对象方法来进行Windows程序的设计与开发是极其方便的和自然的。 采用面向对象的方法来进行Windows程序设计还可以简化对资源的管理。当我们将资源映射成一个C++对象时,对资源的使用可以翻译成以下C++顺序: 1.创建一个对象:如定义一个画笔对象 2.使用对象:用画笔绘图 3.撤消该对象 一个对象的创建是对一个对象的定义过程,可以由对象的构造函数处理对资源的请求过程。当某一个对象退出活动范围时,它的撤消可以由编译器来自动管理。各种资源和Windows结构都能以这种方式处理,如设备上下文、画笔、字体、画刷等等。
小 结 在这一讲中,我们主要向读者介绍了:
[上一页] 作者: 不详, 来源: Visual C++王朝 |