面向对象与c课件(理论篇)

上传人:我*** 文档编号:141315699 上传时间:2020-08-06 格式:PPT 页数:65 大小:365KB
返回 下载 相关 举报
面向对象与c课件(理论篇)_第1页
第1页 / 共65页
面向对象与c课件(理论篇)_第2页
第2页 / 共65页
面向对象与c课件(理论篇)_第3页
第3页 / 共65页
面向对象与c课件(理论篇)_第4页
第4页 / 共65页
面向对象与c课件(理论篇)_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《面向对象与c课件(理论篇)》由会员分享,可在线阅读,更多相关《面向对象与c课件(理论篇)(65页珍藏版)》请在金锄头文库上搜索。

1、第一章 绪论,长安大学 杨建华 2009年1月,面向对象程序设计与C+语言,本章主要内容,面向对象思想的由来 面向对象程序设计 面向对象的软件开发方法 面向对象方法的科学思维基础 利用Visual C+编辑和运行C+程序,程序设计方法的发展,计算机技术发展初期,人们使用计算机进行简单科学计算与文字处理工作。由于问题相对简单,对程序设计方法(语言)没引起重视(机器语言)。 随着计算机技术的不断发展,人们处理的问题越来越庞大、复杂,使得软件开发、维护工作变得越来越困难。这种趋势,使人们不断深入对软件开发方法的研究,以简化软件开发的复杂性。 模块化的两种方法:工业化软件设计的基础。 1、结构化(C为

2、标志);模拟事件处理的过程与功能结构 2、面向对象(C+为标志,追求对现实世界事物组成结构的直接模拟,用软件系统刻画现实世界的具体事物)。最先进 面向对象方法的目的:用最小的投入,最大限度的解决具体问题(听着很玄)。,第一节 面向对象思想的由来,对象与面向对象,对象(object客体)不同于通常的概念(哲学概念)。表示现实世界中的具体事物(具有现实性与具体性属于物质的范畴)。特征:属性+行为。现实世界分为物质和意识两类。 例: 人抽象概念(意识、概括),程序(类); 杨XX(40岁,75kg,181cm,长大教师)具体客观存在(物质、具体),程序(对象)。 对象的特征:状态特征(属性/数据)

3、+ 行为特征(行为/函数)。 面向对象问题分析方法(思想)。用类描述现实世界中的概念(人,大学,汽车,法律);用对象描述现实世界中的具体事物(杨XX,长安大学,我的那辆黑polo汽车,物权法)。采用人们习惯的思维模式或认识方法去分析需要处理的问题。,第一节 面向对象思想的由来,面向对象的方法,出发点: 更直接地描绘客观世界中存在的事物(对象)以及它们之间的关系(所见即所得)。看到什么建立什么模型。 特点: 是高级语言。 将客观事物看作具有属性和行为的对象。属性是结构特征;行为表示能力。(例:黔之驴) 通过抽象找出同一类对象的共同属性和行为,形成类。 通过类的继承与多态实现代码重用,第二节 面向

4、对象程序设计,面向对象的方法,优点: 使程序能够比较直接(直观)地反映问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发(降低软件分析与设计难度)。,第二节 面向对象程序设计,面向过程的程序设计方法,最早的程序 目的:用于数学计算 主要工作:设计求解问题的过程 缺点:对于庞大、复杂的程序难以开发和维护,第二节 面向对象程序设计,面向过程的结构化程序设计方法,设计思路 自顶向下、逐步求精。采用模块分解与功能抽象,自顶向下、分而治之。 程序结构: 按功能划分为若干个基本模块,形成一个树状结构。 各模块间的关系尽可能简单,功能上相对独立;每一模块内部均是由顺序、选择

5、和循环三种基本结构组成。 其模块化实现的具体方法是使用子程序/函数。,面向过程的结构化程序设计方法,优点: 有效地将一个较复杂的程序系统设计大任务分解成许多易于分析、处理和控制的子任务,便于开发和维护。,面向过程的结构化程序设计方法,缺点:可重用性差、数据安全性差、难以开发大型软件和图形界面的应用软件 把数据和处理数据的过程分离为相互独立的实体。 当数据结构改变时,所有相关的处理过程都要进行相应的修改。 每一种相对于老问题的新方法都要带来额外的开销。 图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。,面向对象的方法,将数据及对数据的相关操作方法封装在一起,作为一个相互依存

6、、不可分离的整体对象。 对同类型对象抽象出其共性,形成类。 类通过简单的外部接口,与外界发生关系。 对象与对象之间通过消息进行通信。,面向对象的方法,优点: 程序模块间的关系更为简单,程序模块的独立性越好,数据的安全性就越有保障。(概念的独立性=模块独立性)使用概念将相关属性与功能进行分类并封装在一起。对象是数据与函数的统一体。 通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。,面向对象的程序设计语言,支持数据抽象方法、提供继承性、多态性、动态链接机制,使类/类库可重用。 发展过程: 20世纪60年代中期,Simula 67语言面向对象语言的 鼻祖,提出了对象、类

7、的概念,并支持类的继承。 20世纪70年代中期,Smalltalk语言最有影响的面向对 象语言之一,丰富了面向对象的概念。 20世纪80年代中期后出现C+(兼容C)、Object PASCAL、Java等多种面向对象语言。 分类: 1、纯粹面向对象语言:程序所有成分都是对象 (强 调快速开发能力)。 2、混合型面向对象语言:过程+面向对象,强调运 行效率。C+,第二节 面向对象程序设计,第三节 面向对象的软件开发方法,1面向对象软件开发过程 面向对象软件开发过程开始于问题论域,经历从问题提出到解决的一系列过程。 面向对象分析:利用面向对象方法从问题域和系统责任中抽象出一系列对象和类(所见即所得

8、),建立对象与对象之间的静态和动态联系(软件结构与功能结构)。从各个不同的角度(如Use Case、静态结构、动态行为等)建立问题域和系统责任的抽象的类图(概念及其关系)。 面向对象设计:首先是软件体系结构设计,常常是面向对象分析过程的延续,然后是从设计的角度如界面、数据处理、逻辑处理等方面补充分析的结果,形成设计结果。 类的开发:根据高层设计所标识的类的要求和类的规格说明,进行类的开发。 类实例(对象)的建立:建立各个对象的实例,实现问题的解决方案 组装测试:按照类与类之间的关系组装一个完整的应用系统时所进行的测试。 维护:包括类的维护和应用系统维护。,2、面向对象方法的优势 面向对象方法的

9、优势可以总结为三个一致性: (1)模型一致性:面向对象的技术建立的模型和客观世界具有一致性,因而便于理解。 (2)分析与设计的一致性:分析与设计阶段不存在明显的变换过程,不会造成理解的误差。 (3)沟通方式的一致性:分析人员、设计人员和用户采用一致的语言进行通讯。 其它特点包括: 对需求变化的适应性;(修改简便性) 对重复使用的支持。(继承与多态性),OOP围绕现实世界的概念来组织模块,采用对象模拟问题空间的实体,用程序代码模拟现实世界中的对象,使程序设计过程更自然、更直观。 SP是以功能为中心来描述系统,而OOP是以数据(对象)为中心来描述系统。相对于功能而言,数据具有更强的稳定性。 OOP

10、模拟了对象之间的通信。就象人们之间互通信息一样,对象之间通过消息进行通信。这样,我们不必知道一个对象是怎样实现其行为的,只需通过对象提供的接口进行通信并使用对象所具有的行为或功能。,3、面向对象程序设计的特点:,OOP把一个复杂的问题分解成多个能够完成独立功能的对象(类),然后把这些对象组合起来去完成复杂的问题处理过程。 一个对象可由多个更小的对象组成。如汽车由发动机、传动系统、控制系统、排气系统、电器系统等组成。这些对象(类)可由不同的程序员来设计,可在不同程序中使用,就象一个汽车制造商使用许多零部件去组装一辆汽车,而这些零部件可能不全是自己生产的。如现实中工具、单位等 采用面向对象模式就象

11、在流水线上工作,我们最终只需将多个零部件(已设计好的对象)按照一定关系组合成一个完整的系统。,3、面向对象程序设计的特点:,第四节 面向对象方法的科学思维基础,1、面向对象分析:利用面向对象方法从问题域和系统责任中抽象出一系列类和对象,建立对象与对象之间的静态和动态联系。从各个不同的角度(如Use Case、静态结构、动态行为等)建立问题域和系统责任的抽象的类图(概念及其关系)。 模型只表示现实事物的本质(与问题域相关部分)。所以建立模型的过程就是抽象思维的过程。 程序设计过程=人的认识思维过程 具体讲,就是分析问题域相关的事物,按抽象的原则化分对象,对相关对象分析,找到问题域重要概念。 2、

12、建立模型 知性思维阶段:从复杂多样的现象与行为中找规律(对象与类)。 具体思维阶段:分析对象在问题域中的本质(丰富、精确)。 3、抽象思维方法 分类法人类习惯的认识方法,(中国人特长)。 综合法系统论方法。由局部到全局地分析问题 普遍化归纳法,特殊性=普遍性。,(1)启动Visual C+,执行“File|New”菜单命令,在New对话框的Projects页面左侧项目类型列表中选择Win32 Console Application项,在对话框右侧的Location和Project Name框中分别输入路径和项目名称,单击OK按钮。,第五节 利用Visual C+编制和 运行C+程序,(2)进入

13、Win32 Console Application step-1 of 1对话框,选择An Empty Project项,单击Finish按钮。最后在New Project Information对话框单击OK按钮完成项目的建立。,(3)建立和编辑C+源程序文件。执行“Project|Add to Project|New”菜单命令,在New对话框的File页面选择C+ Source File项,在File框中填入C+源文件名,确认选择Add to project,单击OK按钮将打开文本编辑器。输入并编辑C+源程序代码。,(4)建立可执行程序。执行“Build|Build”菜单命令(快捷键F7)

14、即可建立可执行程序,若程序有语法错误,则在屏幕下方的输出窗口中显示错误信息。,(5)执行“Build|Execute”菜单命令即可在伪DOS状态下运行程序,也可进入DOS状态后运行已建立的程序。 注意不能在Windows中直接运行一个控制台程序。 也可采用另一种简单的方法编写C+程序,即执行“File|New|Files|C+ Source File”菜单命令直接创建一个C+源文件,在执行Build命令时再建立项目工作区。,第二章 面向对象的基本概念,长安大学 杨建华,面向对象程序设计与C+语言,第一节 对象,一般意义上的对象: 是现实世界中一个实际存在的具体事物。 可以是有形的(比如一辆汽车

15、),也可以是无形的(比如一项计划)。 是构成现实世界的一个独立单元,具有 静态特征:可以用某种数据来描述 动态特征:对象所表现的行为或具有的功能(主动/被动) 对象=对象名+属性+操作,面向对象方法中的对象(C+): 是系统中用来描述客观事物的一个实体,它是构成软件系统的一个基本单位。对象是对一组属性和与其相关操作的封装体。 属性:用来描述对象静态特征的数据(状态)。变量(基本类型/抽象类型) 操作:用来描述对象动态特征的操作序列(功能与行为)。函数,对象的划分: 具体问题划分为一组对象。确定每个对象的作用以及对象间的关系。 无确定标准,划分对象根据所需进行的操作以及设置对象的目的确定。(学工

16、办、人事处、后勤处、地测学院) 基本原则:寻找系统设计事物的共性,将具有共性的系统成分确定为一种对象(类)。,对象的状态: 状态(属性)是行为(功能)的基础。 状态分为可见状态与隐含状态(封装)。 状态使用数据(基本/抽象类型)描述。这些数据是对象私有的(其它对象不可直接用),只能由对象自己的函数访问。 (C+)成员变量 对象的功能: 功能(行为) 是状态(属性)的体现与目的。 功能分为可用功能与隐含功能(封装)。 功能使用函数描述。这些函数是对象私有的(其它对象不可直接用),只能由对象自己访问。 (C+)成员函数,对象的特性: 模块独立性:封装=对象间数据与函数相互独立 动态链接:挂起(消息)激活动态联系 易维护性:(由独立性保证)修改、完善不影响其它对象的功能,第二节 类,分类人类习惯的认识、思维方法 分类所依据的原则抽象 忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。 例如,石头、树木、汽车、房屋等都是人们在长期的生产和生

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号