欢迎来到天天文库
浏览记录
ID:44095128
大小:322.50 KB
页数:14页
时间:2019-10-18
《第一章 面向对象技术概述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、与C++语言主讲:马燕重庆师范大学物理学与信息技术学院1第一章面向对象技术概述1.1面向对象技术概念面向对象技术(Object-OrientedTechnique,OOT)的基本概念来源于程序设计,已成为目前软件开发领域的主流技术。它使计算机解决问题的方式更加类似于人类的思维方式,更能直接地描述客观世界。软件实质上是问题求解的一种表达形式。面向对象技术的基本原则是:按照人们通常的思维方式建立问题域的模型,设计出尽可能自然地表现求解方法的软件。面向对象技术认为:客观世界是由许多各种各样的对象组成的,每种对象之间都有各自的内部状态和运动规律。2第一章面向对象技术概述不同对
2、象之间的相互作用和联系就构成了各种不同的系统,构成了客观世界。因此,对象是组成一个系统的基本逻辑单元。面向对象技术提供了一个分析、设计和实现系统的统一方法。在面向对象技术中,对象、消息(消息是指对象对方法的调用)传递分别是表现事物及事物之间相互联系的概念;类、继承是适应人们思维方式的描述范式;服务是允许作用于该类对象上的各种操作。其基本点在于对象的封装和继承。通过封装将对象的定义和对象的实现分开;通过继承体现了类与类之间的关系以及由此带来的动态聚束和实体的多态性[在类层次中,对同一消息不同对象的不同响应称为多态]。从而构成了面向对象技术的基本特征。3第一章面向对象技术
3、概述1.2结构化程序与面向对象程序设计的区别90年代以来,面向对象程序设计(Object-OrientedProgramming)简称为OOP发展迅速,成为软件设计的主流技术。结构化程序设计:60年代诞生的,它的产生与发展形成了现代软件工程的基础。结构化程序设计的思路是:自顶向下,逐步求精。程序结构按功能将任务划分为多个基本模块,这些模块形成一个树型结构;各个模块之间在功能上是相对独立。数据和操作相互独立为不同的实体。面向对象程序设计将数据及对数据的操作放在一起作为一个相互依存、不可分割的整体来处理,采用数据抽象和信息隐藏技术,将对象及对对象的操作抽象成为一种新的数据
4、类型——类,并考虑不同对象之间的联系及对象类重用性。4第一章面向对象技术概述面向对象程序设计的优越性在于它解决了两个主要问题:软件的复杂性控制和软件生产率的提高,它符合人类的思维习惯,能够自然地表现现实世界的实体和问题,对于软件开发具有重要的意义。1.3面向对象程序设计的作用面向对象技术的主要优点体现在解决软件在开发过程中维护复杂性和提高生产率以及大型程序设计等方面。编写可重用代码:程序重用共享编写可维护代码:程序模块化修改代码模块共享代码5第一章面向对象技术概述维护的复杂性软件开发的灵活性一旦对象被定义,类库被扩充,程序设计过程就变得越来越容易。通过继承机制进行子类
5、化的过程使得程序设计变成仅对子类与超类(父类)的差异进行编程的过程。可重用性面向对象技术可使程序员不必反复地编写类似的程序,通过用新的对象替换旧的对象,或直接在应用程序中加入新的对象,程序员就可修改程序的功能。在结构化编程中,操作及规则都是要作用到独立的数据集上的,程序员将注意力集中在语言问题上;而在面向对象环境中,重要的问题是建立在各种环境下可被使用的类库或对象集。6第一章面向对象技术概述生产率的提高可扩充性与可维护性:要修改与扩充一个面向对象应用程序是较容易的,可通过增加新的对象类型而不需要改变已有的结构。继承机制使一个新的类可以从旧的类中派生出来,类中的服务是易
6、于修改的。方便用户编程:面向对象程序设计技术使程序设计工作变得更加容易(但其中的概念还比较抽象和难于理解的)。设计大型应用程序面向对象技术提供了一种有效的模块分解方法,进一步发展了基于数据抽象的模块化设计,并且在数据抽象和抽象数据之上又引入了动态连接和继承性等机制,可以更好的支持大型程序的设计与开发。7第一章面向对象技术概述1.4面向对象程序设计语言1.程序设计语言的发展状况高级语言的发展可以分为三个阶段:(1)基础语言的发展阶段基础语言的特点是具有很好的语言表达能力,如:FortranCobolAlgolBasic等。(2)结构化程序设计语言的发展阶段随着计算机技术
7、的发展,软件规模不断扩大,出现了软件危机。软件危机的含义软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。表现如下:8第一章面向对象技术概述对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。为解
此文档下载收益归作者所有