欢迎来到天天文库
浏览记录
ID:43228344
大小:473.50 KB
页数:38页
时间:2019-10-05
《1--面向对象概述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、兰州理工大学计算机与通信学院年福忠第1章面向对象程序设计概述第2章C++概述第3章类与对象第4章派生类与继承第5章多态性第6章模板第7章C++的I/O流类库C++面向对象程序设计1程序的目的:用于数学计算主要工作:设计求解问题的过程缺点:对于庞大、复杂的程序难以开发和维护面向过程程序设计的基本概念2设计思路自顶向下、逐步求精。采用模块分解与功能抽象,自顶向下、分而治之。程序结构按功能划分为若干个基本模块,形成一个树状结构。各模块间的关系尽可能简单,功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成。其模块化实现的具体方法是使用子程序。面向过程程序设计的基本
2、概念3优点有效地将一个较复杂的程序设计任务分解成许多易于控制和处理的子任务,便于开发和维护。面向过程程序设计的基本概念程序=数据结构+算法4缺点:可重用性差、数据安全性差、难以开发图形界面的应用把数据和处理数据的过程分离。当数据结构改变时,所有相关的处理过程都要进行相应的修改。图形用户界面的应用,很难用过程来描述和实现,开发和维护都很困难。面向过程程序设计的基本概念5将数据及对数据的操作封装在一起,作为一个相互依存、不可分离的整体——对象。对同类型对象抽象出其共性,形成类。类通过外部接口,与外界发生关系。对象与对象之间通过消息进行通讯。面向对象程序设计的基本概念6优点程序
3、模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。程序=对象+消息面向对象程序设计的基本概念7不同于面向过程的程序设计中以具体的解题过程为研究和实现的主体,面向对象的程序设计是以需解决的问题中所涉及到的各种对象为主要矛盾。更确切地,面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。对象、类与实体8图1对象、实体与类对象、类与实体9类是面向对象技术中一个非常重要的概念。简单地说,类是同种对象的集合与抽象。为了处理问题的方便,在面向对象的程序设计中定
4、义了类的概念来表述同种对象的公共属性和特点。从这个意义上来说,类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。类10“对象”是现实世界的实体或概念在计算机逻辑中的抽象表示。具体地,对象是具有唯一对象名和固定对外接口的一组属性和操作的集合。其中对象名是区别于其他对象的标志;对外接口是对象在约定好的运行框架和消息传递机制中与外界通信的通道;对象的静态属性表示了它所处的状态;而对象的操作则用来改变对象的状态以达到特定的功能。对象最主要的特点是以数据为中心,它是一个集成了数据和其上操作的独立、自恰的逻辑
5、单位。对象11状态和行为是对象的主要属性。对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。当对象经过某种操作和行为而发生状态改变时,具体地就体现为它的属性变量的内容的改变。通过检查对象属性变量的内容,就可以了解这个对象当前所处于的状态。对象的属性12图2对象的属性和行为13从图2中可以看出,对象的方法一方面把对象的内部变量包裹、封装、保护起来,使得只有对象自己的方法才能操作这些内部变量;另一方面,对象的方法还是对象与外部环境和其他对象交互、通信的接口,对象的环境和其他对象可
6、以通过这个接口来调用对象的方法,操纵对象的行为和改变对象的状态。对象的属性14方法:作用在对象上的行为,对象的交互是通过对象的方法完成的。消息:一个对象向另一个对象发出的请求被成为消息。对象有两类消息:共有消息和私有消息。消息有三个性质:同一个对象可以接收多个不同的消息;相同形式的消息可以传递给不同的对象;对象对消息的响应不是必须的。对象的交互15抽象:是指通过特定的实例或例子抽取共同性质形成概念的过程。封装:是把对象的属性和服务结合成一个独立的系统单位。包含两个含义: ◇把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。 ◇信息隐蔽,即尽可
7、能隐蔽对象的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系。抽象与封装16封装的原则在软件上的反映是:使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度。抽象与封装17balanceinterestYTDowneraccount_numberMakeDepositWithDrawTransferMakeDepositWithDrawTransfer用户不能存取的数据实现细节(对用户不可见)用户接口18特殊类的对象拥有
此文档下载收益归作者所有