面向对象的软件开发.ppt
《面向对象的软件开发.ppt》由会员分享,可在线阅读,更多相关《面向对象的软件开发.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象的程序设计面向对象的程序设计面向对象的程序设计面向对象的程序设计第第 2 2 页页第一讲 面向对象的软件开发 面向对象技术的发展历史面向对象技术的发展历史 面向对象技术的基础知识面向对象技术的基础知识 面向对象程序设计的优点面向对象程序设计的优点本本 章章 要要 点点面向对象的程序设计面向对象的程序设计面向对象的程序设计面向对象的程序设计第第 4 4 页页1、回顾结构化方法l程序设计语言只要顺序、选择和重复三种程序设计语言只要顺序、选择和重复三种形式的控制结构就足以表达出各种其他形形式的控制结构就足以表达出各种其他形式的结构。式的结构。l采用过程抽象的方式,把软件视为处理流,采用过程抽
2、象的方式,把软件视为处理流,并定义成由一系列步骤构成的算法。每一并定义成由一系列步骤构成的算法。每一步骤都是带有预定输入和特定输出的一个步骤都是带有预定输入和特定输出的一个过程,把这些步骤串联在一起可产生合理过程,把这些步骤串联在一起可产生合理的稳定的贯通于整个程序的控制流,最终的稳定的贯通于整个程序的控制流,最终产生一个简单的具有静态结构的体系结构。产生一个简单的具有静态结构的体系结构。面向对象的程序设计面向对象的程序设计第第 5 5 页页1、回顾结构化方法l数据抽象、数据结构根据算法步骤的要求数据抽象、数据结构根据算法步骤的要求开发,它贯穿于过程,提供过程所要求操开发,它贯穿于过程,提供过
3、程所要求操作的信息。作的信息。l系统的状态是一组全局变量,这组全局变系统的状态是一组全局变量,这组全局变量保存状态的值,把它们从一个过程传送量保存状态的值,把它们从一个过程传送到另一个过程。到另一个过程。面向对象的程序设计面向对象的程序设计第第 6 6 页页1、回顾结构化方法l缺点:缺点:l1)复用困难)复用困难l2)牵一发而动全身)牵一发而动全身l3)为了适应变化,要精心设计函数接口,)为了适应变化,要精心设计函数接口,导致函数接口的日益复杂导致函数接口的日益复杂面向对象的程序设计面向对象的程序设计第第 7 7 页页2、面向对象方法的提出l面向对象方法把面向对象方法把问题论域问题论域中的主要
4、中的主要实体实体做做为系统开发的起点,主要考虑对象的行为为系统开发的起点,主要考虑对象的行为而不是必须执行的一系列动作。而不是必须执行的一系列动作。l在面向对象方法中,对象是数据抽象与过在面向对象方法中,对象是数据抽象与过程抽象的综合。程抽象的综合。l系统状态保存在各数据抽象所定义的数据系统状态保存在各数据抽象所定义的数据存储中。存储中。l控制流包含在各个数据抽象中的操作内,控制流包含在各个数据抽象中的操作内,算法被分布到各种实体中。算法被分布到各种实体中。面向对象的程序设计面向对象的程序设计第第 8 8 页页2、面向对象方法的提出l在使用面向对象方法开发的系统之中,系在使用面向对象方法开发的
5、系统之中,系统结构基于对象间的交互。系统中某一部统结构基于对象间的交互。系统中某一部分的改变仅仅产生局部影响。分的改变仅仅产生局部影响。l其组成部分如下:其组成部分如下:面向对象分析面向对象分析(OOA)面向对象设计面向对象设计(OOD)面向对象程序设计面向对象程序设计(OOP)l即:即:OOSD=OOA+OOD+OOP。面向对象的程序设计面向对象的程序设计第第 9 9 页页3、面向对象方法的基本思想l尽可能模拟人类习惯的思维方式,使开发尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述界解决问题的方
6、法与过程,也就是使描述问题的问题空间(即问题域)与实现解法问题的问题空间(即问题域)与实现解法的解空间(即求解域)在结构上尽可能一的解空间(即求解域)在结构上尽可能一致。致。天下乌鸦天下乌鸦一般黑一般黑归纳归纳演绎演绎面向对象的程序设计面向对象的程序设计第第 1010 页页l人类对客观事物的认知过程人类对客观事物的认知过程从一般到特殊的演绎过程从一般到特殊的演绎过程从特殊到一般的归纳方法从特殊到一般的归纳方法3、面向对象方法的基本思想运输工具运输工具飞机飞机汽车汽车轮船轮船火车火车水果水果苹果苹果香蕉香蕉梨梨抽象抽象面向对象的程序设计面向对象的程序设计第第 1111 页页3、面向对象方法的基本
7、思想l面向对象方法提供了抽象和归纳的机制面向对象方法提供了抽象和归纳的机制抽象的客观概念抽象的客观概念概念:学生概念:学生抽象的数据类型抽象的数据类型类:学生类:学生实例化的对象实例化的对象对象:对象:Jane具体的一组相似客观事物具体的一组相似客观事物实体:实体:Jane、Smith等等表示表示抽象抽象实例化实例化模拟模拟面向对象的程序设计面向对象的程序设计第第 1212 页页3、面向对象方法的基本思想划分划分将复杂问题(复杂将复杂问题(复杂对象)划分为一系对象)划分为一系列简单的组成部分列简单的组成部分(简单对象)(简单对象)分类分类按照对象间的各种相按照对象间的各种相似性将对象分类似性将
8、对象分类认识各类对象自认识各类对象自身属性及行为身属性及行为认识对象及类之认识对象及类之间关系间关系全部事物的全部事物的完整认识完整认识符合人类认知规律的软件开发过程面向对象的程序设计面向对象的程序设计面向对象的程序设计面向对象的程序设计第第 1414 页页1、什么是对象?l在应用领域中有意义的、与所要解决的问在应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,它题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和是人为的概念,或者是任何有明确边界和意义的东西。例如,一名职工、一家公司
9、、意义的东西。例如,一名职工、一家公司、一个窗口、一座图书馆、一本图书、贷款一个窗口、一座图书馆、一本图书、贷款和借款等,都可以作为一个对象。和借款等,都可以作为一个对象。l总之,总之,对象是对问题域中某个实体的抽象对象是对问题域中某个实体的抽象,设立某个对象就反映了软件系统保存有关设立某个对象就反映了软件系统保存有关它的信息,并具有与它进行交互的能力。它的信息,并具有与它进行交互的能力。面向对象的程序设计面向对象的程序设计第第 1515 页页1、什么是对象?l在不同场合具有不同的含义:在不同场合具有不同的含义:l问题空间问题空间:所有要研究的客观现实的全体所有要研究的客观现实的全体称为问题空
10、间或问题域,而把要研究的问称为问题空间或问题域,而把要研究的问题(客观世界中的实体)称之为问题空间题(客观世界中的实体)称之为问题空间的对象的对象 l解空间解空间:所有的解(程序及执行程序的计:所有的解(程序及执行程序的计算机)组成的集合称为解空间,把解(程算机)组成的集合称为解空间,把解(程序及执行程序的计算机实体)称做解空间序及执行程序的计算机实体)称做解空间的对象的对象面向对象的程序设计面向对象的程序设计第第 1616 页页1、什么是对象?问题空间对象问题空间对象图书1MyBook1:CBook书 名:程序设计总页数:280版 本:2.m_pczName:char*=“程序设计”nTot
11、alPage:int=280nEdition:int=2.返回书名返回总页数返回版本号.char*GetBookName();int GetTotalPage();int GetEdition();.分析中的对象设计中的对象面向对象的程序设计面向对象的程序设计第第 1717 页页1、什么是对象?l对象是封装了数据结构及可以施加在这些对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体,这个封装体数据结构上的操作的封装体,这个封装体有可以唯一标识它的名字,而且向外界提有可以唯一标识它的名字,而且向外界提供一组服务。供一组服务。l属性属性(attribute)表示对象的性质,属性)表示对象
12、的性质,属性值规定了对象所有可能的状态,一般只能值规定了对象所有可能的状态,一般只能通过执行对象的操作来改变。通过执行对象的操作来改变。面向对象的程序设计面向对象的程序设计第第 1818 页页1、什么是对象?l操作操作是指该对象可以展现的外部服务,它是指该对象可以展现的外部服务,它描述了对象执行的功能,若通过消息传递,描述了对象执行的功能,若通过消息传递,还可以为其它对象使用。还可以为其它对象使用。l例如,大型客机可视为对象,它具有位置、例如,大型客机可视为对象,它具有位置、速度、颜色、容量等属性,对于该对象可速度、颜色、容量等属性,对于该对象可施行起飞、降落、加速、维修等操作,这施行起飞、降
13、落、加速、维修等操作,这些操作将或多或少地改变飞机的属性值些操作将或多或少地改变飞机的属性值(状态状态)。面向对象的程序设计面向对象的程序设计第第 1919 页页1、什么是对象?对象:电视机对象:电视机Others.Internal StateTurn OnTurn OffChange ChannelAdjust VolumeOthers变更频道请求开请求关调节音量被封装的行为和状态l类是具有相同数据结构和相同操作的一组类是具有相同数据结构和相同操作的一组相似对象的抽象。即表示某些对象在属性相似对象的抽象。即表示某些对象在属性和操作方面的共同特征。和操作方面的共同特征。l类是在对象之上的抽象,
14、有了类以后,对类是在对象之上的抽象,有了类以后,对象则是类的具体化,是类的实例。象则是类的具体化,是类的实例。l把一组对象的共同特性加以抽象并存贮在把一组对象的共同特性加以抽象并存贮在一个类中的能力,是面向对象技术最重要一个类中的能力,是面向对象技术最重要的一点!的一点!面向对象的程序设计面向对象的程序设计第第 2020 页页2、类的概念l类是建立对象时使用的类是建立对象时使用的“样板样板”,按照这个,按照这个样板所建立的一个个具体的对象,就是类样板所建立的一个个具体的对象,就是类的实例。的实例。l实例是某个具体类所描述的一个具体对象,实例是某个具体类所描述的一个具体对象,如:如:“张三张三”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 软件 开发
限制150内