chap1 绪论1new

chap1 绪论1new

ID:36228945

大小:122.00 KB

页数:17页

时间:2019-05-07

chap1 绪论1new_第1页
chap1 绪论1new_第2页
chap1 绪论1new_第3页
chap1 绪论1new_第4页
chap1 绪论1new_第5页
资源描述:

《chap1 绪论1new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象程序设计(C++)Object-OrientedProgramminginC++Language教材:l马光志.C++程序设计实践教程.华中科技大学出版参考书:①王燕.面向对象的理论与C++实践.清华版②C++Thinking.机械工业出版社Chap1绪论一、面向对象思想的由来1.产生原因:l人们希望能更直接与计算机进行交互à寻求一种更能反映人类解决问题的自然办法l软件系统越来越庞大、复杂,传统的结构化方法无法满足易维护、易扩充、可重用性好等要求à模拟客观世界的构成法则来构造软件系统(将系统分解成一系列的使能

2、实体)2.实质:从现实世界中客观存在的事物(即对象)出发来构造软件系统,追求软件系统对现实世界的直接模拟,尽量将现实世界中的事物直接映射到软件系统的解空间。物质:一辆白色的自行车意识:自行车具体事物:一辆白色的自行车抽象概念:自行车类图1.1现实世界与面向对象系统之间的对应关系现实问题空间面向对象解空间物质à对象意识à抽象概念(类)二、面向对象方法构造软件系统的步骤1.系统分析——建立对象模型l发现对象;定义对象属性和服务;分析对象之间的联系;建立系统的对象模型、动态模型和功能模型2.系统设计——确立对象模型的实现方

3、法l系统分解;设计问题域子系统,确定应用系统的边界;设计人-机交互子系统;设计任务管理子系统(分析系统的并发性、分配处理器的任务);设计数据管理子系统(选择数据存储管理模式);处理全局资源的访问;等等3.对象设计——三种模型转换成类l对象模型à类的属性:主要考虑对象关联的实现方法l动态模型à类的方法:选用事件驱动的运行环境l功能模型à主控模块或子控模块:顺序执行or事件驱动方式实现流程控制4.对象实现——编码l选用合适的面向对象程序设计语言(OOPL)和开发环境(DE),定义类的属性及其方法,编写主控模块及子控模块三

4、、面向对象的程序设计1.结构化的程序设计(StructureProgramming)l特点:采用模块分解与功能抽象,自顶向下、分而治之的手段,从而将一个较复杂的程序系统的设计任务分成许多易于控制和处理的子任务,这些子任务都是可独立编程的子程序模块。l存在的问题:面向数据/过程的设计方法,数据和过程分离,导致1)程序的可重用性差(不同的数据格式即使做相同的处理或对相同的数据格式要做不同的处理都需要编写不同的程序)2)数据与程序有时不相容(存在错误的数据调用正确的程序模块或正确的数据调用错误的程序模块的可能性)2.面向对

5、象的程序设计(Object-OrientedProgramming-OOP)l特点:1)将数据及对数据的操作放在一起,作为一个相互依存、不可分割的整体来处理,采用数据抽象和信息隐藏技术。(封装性)2)将对象及对对象的操作抽象成一种新的数据类型——类,并且考虑不同对象之间的联系和对象类的重用性。(类、对象、消息、继承)OOP吸收了结构化程序设计的优点,又考虑了现实世界与面向对象解空间的映射关系(追求目标:问题求解空间尽可能简单化)l例:自行车对象数据抽象自行车类属性:架子尺寸车轮尺寸颜色原材料厂商操作:转弯移动修理图1

6、.2对象和类ClassBike{private:doublesize1;doublesize2;intcolor;charmaterial[20];charmanu[20];public:voidwheel();voidmove();boolrepair();};C++描述l优点:1)有希望解决软件工程的两个主要问题——软件复杂性控制和软件生产率的提高;2)符合人类的思维习惯,能够自然地表现现实世界的实体和问题。四、面向对象的程序设计语言1.发展历程:n封装机制:Ada,Modula-2n对象抽象:Simula——O

7、O锥形n面向对象的语言:Smalltalk-80,C++,ObjectedPascal(Delphi),Java,C#,VB.NETnC++:以C为基础的多继承的OOPLnJava:以C++为基础的单继承的OOPL——网络化的OOPLnC#:以C++为基础的单继承的可重载运算符的OOPL2.SmallTalk——第一个真正的OOPLl1976年,SmallTalk-72:有列表和控制结构,但没有类的概念l1978年,SmallTalk-74:引入多窗口界面,有类的概念l1981年,SmallTalk-80:引入和完善

8、了类、方法、实例等概念,应用了继承机制和动态连接,第一个最纯粹的面向对象程序设计语言3.C++——混合型的OOPLl1986年,美国AT&T的贝尔实验室开发l吸收了C、OBJECTIVE-C、SIMULA等语言特点而发展:1)C的超集,完全兼容C2)是一种强类型语言:编译阶段就能发现C++程序的潜在错误3)表达能力强:多继承性、构造函数、虚函数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。