面向对象方法与课件.ppt
《面向对象方法与课件.ppt》由会员分享,可在线阅读,更多相关《面向对象方法与课件.ppt(95页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、面向对象方法与第1页,此课件共95页哦 5.1 面向对象的概念与开发方法现实世界就是由各种对象组成的,如建筑物、人、现实世界就是由各种对象组成的,如建筑物、人、汽车、动物、植物等。汽车、动物、植物等。复杂的对象可以由简单的对象组成。复杂的对象可以由简单的对象组成。在研究对象时主要考虑对象的属性和行为,有些不同的对在研究对象时主要考虑对象的属性和行为,有些不同的对象会呈现相同或相似的属性和行为,如轿车、卡车、面包象会呈现相同或相似的属性和行为,如轿车、卡车、面包车。车。通常将属性及行为相同或相似的对象归为一类。通常将属性及行为相同或相似的对象归为一类。类可以看成是对象的抽象,代表了此类对象所具有
2、的类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为。共有属性和行为。第2页,此课件共95页哦 5.1 面向对象的概念与开发方法Coad和和Yourdon给出了给出了“面向对象面向对象”的一个的一个定义:定义:面向对象对象类继承消息通信面向对象对象类继承消息通信如果一个系统是使用这样如果一个系统是使用这样4 4个概念设计和实现个概念设计和实现的,则可认为这个系统是面向对象的。的,则可认为这个系统是面向对象的。第3页,此课件共95页哦对象对象是包含现实世界物体特征的抽象实体,它反映了系统为对象是包含现实世界物体特征的抽象实体,它反映了系统为之保存信息和(或)与它交互的能力。之保存信息和
3、(或)与它交互的能力。例如,例如,StudentStudent对象的数据可能有姓名、性别、出生日期、家庭住址、对象的数据可能有姓名、性别、出生日期、家庭住址、电话号码等,其操作可能是对这些数据值的赋值及更改。电话号码等,其操作可能是对这些数据值的赋值及更改。第4页,此课件共95页哦对象对象与后面讲的类具有几乎完全相同的表示形式,主对象与后面讲的类具有几乎完全相同的表示形式,主要差别是对象的名字下面要加一条下划线。对象名有要差别是对象的名字下面要加一条下划线。对象名有下列三种表示格式:下列三种表示格式:(1)(1)第一种格式是对象名在前,类名在后,中间用冒号连接。形第一种格式是对象名在前,类名在
4、后,中间用冒号连接。形如:如:对象名:类名对象名:类名(2)(2)第二种格式形如:第二种格式形如:类名:类名 这种格式用于尚未给对象命名的情况,注意,类名前的冒号不这种格式用于尚未给对象命名的情况,注意,类名前的冒号不能省略。能省略。(3)(3)第三种格式形如:第三种格式形如:对象名对象名第5页,此课件共95页哦对象对象有两个层次的概念:对象有两个层次的概念:(1)(1)现实生活中对象指的是客观世界的实体。可以是可见的现实生活中对象指的是客观世界的实体。可以是可见的有形对象,如人、学生、汽车、房屋等;也可以是抽象的有形对象,如人、学生、汽车、房屋等;也可以是抽象的逻辑对象,如银行帐号,生日。逻
5、辑对象,如银行帐号,生日。(2)(2)程序中对象就是一组变量和相关方法的集合,其中程序中对象就是一组变量和相关方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为。变量表明对象的状态,方法表明对象所具有的行为。第6页,此课件共95页哦对象可以将程序中的对象分为可以将程序中的对象分为5类:类:物理对象,角色,物理对象,角色,事件,交互,规格说明事件,交互,规格说明。(1)(1)物理对象(物理对象(Physical ObjectsPhysical Objects)物理对象是最易识别的对物理对象是最易识别的对象,通常可以在问题领域的描述中找到,它们的属性可以标识和象,通常可以在问题领域的描述
6、中找到,它们的属性可以标识和测量。测量。例如,大学课程注册系统中的学生对象;一个网络管理系统中各例如,大学课程注册系统中的学生对象;一个网络管理系统中各种网络物理资源对象(如开关、种网络物理资源对象(如开关、CPUCPU和打印机)都是物理对象。和打印机)都是物理对象。第7页,此课件共95页哦对象(2)角色(角色(Roles)一个实体的角色也可以抽一个实体的角色也可以抽象成一个单独的对象。角色对象的操作是由角象成一个单独的对象。角色对象的操作是由角色提供的技能。色提供的技能。例如,一个面向对象系统中通常有例如,一个面向对象系统中通常有“管理器管理器”对象,它履行协对象,它履行协调系统资源的角色。
7、一个窗口系统中通常有调系统资源的角色。一个窗口系统中通常有“窗口管理器窗口管理器”对象,对象,它扮演协调鼠标器按钮和其他窗口操作的角色。特别地,一个它扮演协调鼠标器按钮和其他窗口操作的角色。特别地,一个实际的物理对象可能同时承担几个角色。实际的物理对象可能同时承担几个角色。例如,一个退休教师同时扮演退休者和教师的角色。例如,一个退休教师同时扮演退休者和教师的角色。第8页,此课件共95页哦对象(3)事件(事件(Events)一个事件是某种活动的一一个事件是某种活动的一次次“出现出现”。例如例如“鼠标鼠标”事件。一个事件对象通常是一个数据实体,事件。一个事件对象通常是一个数据实体,它管理它管理“出
8、现出现”的重要信息。事件对象的操作主要用于的重要信息。事件对象的操作主要用于对数据的存取。对数据的存取。如如“鼠标鼠标”事件对象有诸如光标坐标、左右键、单事件对象有诸如光标坐标、左右键、单击,双击等信息。击,双击等信息。第9页,此课件共95页哦对象(4)交互(交互(Interactions)交互表示了在两个对象之交互表示了在两个对象之间的关系,这种类型的对象类似于在数据库设计时间的关系,这种类型的对象类似于在数据库设计时所涉及的所涉及的“关系关系”实体。实体。当实体之间是多对多的关系时,利用交互对象可将其简当实体之间是多对多的关系时,利用交互对象可将其简化为两个一对多的关系。化为两个一对多的关
9、系。例如,在大学课程注册系统中,学生和课程之间的关例如,在大学课程注册系统中,学生和课程之间的关系是多对多的关系,可设置一个系是多对多的关系,可设置一个“选课选课”交互对象来交互对象来简化它们之间的关系。简化它们之间的关系。第10页,此课件共95页哦类与封装类。类。可以将现实生活中的对象经过抽象,映射为程序中的对象。对可以将现实生活中的对象经过抽象,映射为程序中的对象。对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(为类(ClassClass)。)。为了让计算机创建对象,必须先提供对象的定义,也就是先为了让计算机创
10、建对象,必须先提供对象的定义,也就是先定义对象所属的类。例如,可以将学生对象所属的类定义为定义对象所属的类。例如,可以将学生对象所属的类定义为StudentStudent。类的图形表示如图所示。类的图形表示如图所示。第11页,此课件共95页哦类与封装封装。封装。面向对象的封装特性与其抽象特性密切相关。封装是面向对象的封装特性与其抽象特性密切相关。封装是一种信息隐蔽技术,就是利用抽象数据类型将数据和基于数据一种信息隐蔽技术,就是利用抽象数据类型将数据和基于数据的操作封装在一起。用户只能看到对象的封装界面信息,对象的操作封装在一起。用户只能看到对象的封装界面信息,对象的内部细节对用户是隐蔽的。的内
11、部细节对用户是隐蔽的。封装的定义是:封装的定义是:(1)(1)清楚的边界,所有对象的内部信息被限定在这个边界内;清楚的边界,所有对象的内部信息被限定在这个边界内;(2)(2)接口,即对象向外界提供的方法,外界可以通过这些方法与接口,即对象向外界提供的方法,外界可以通过这些方法与对象进行交互;对象进行交互;(3)(3)受保护的内部实现,即软件对象功能的实现细节,实现细节不能受保护的内部实现,即软件对象功能的实现细节,实现细节不能从类外访问。从类外访问。第12页,此课件共95页哦继承继承继承。继承是一种联结类的层次模型,为类的重用提供了继承是一种联结类的层次模型,为类的重用提供了方便,它提供了明确
12、表述不同类之间共性的方法。方便,它提供了明确表述不同类之间共性的方法。我们将公共类称为超类我们将公共类称为超类(superclass)(superclass)、父类(、父类(father classfather class)、)、祖先(祖先(ancestorancestor)或基类()或基类(base classbase class),而从其继承的类称为),而从其继承的类称为子类子类(subclasses)(subclasses)、后代(、后代(deslendanedeslendane)或导出类()或导出类(derived derived classclass)。)。第13页,此课件共95页哦
13、多态多态 根根根根据据据据为为为为请请请请求求求求提提提提供供供供服服服服务务务务的的的的对对对对象象象象不不不不同同同同可可可可以以以以得得得得到到到到不不不不同同同同的的的的行行行行为为为为,这种现象称为这种现象称为这种现象称为这种现象称为多态多态。在在运运行行时时对对类类进进行行实实例例化化,并并调调用用与与实实例例化化对对象象相相应应的的方方法法,称称为为动动动动态态态态绑绑绑绑定定定定、后后后后期期期期绑绑绑绑定定定定或或运运运运行行行行时时时时绑绑绑绑定定定定。相相相相应应应应地地地地,如如如如果果果果方方方方法法法法的的的的调调调调用用用用是是是是在在在在编编编编译译译译时时时时
14、确确确确定定定定的的的的,则则则则称称称称为为为为是是是是静态绑定静态绑定、前期绑定前期绑定或或编译时绑定编译时绑定。通过在子类中覆盖父类的方法实现多态。通过在子类中覆盖父类的方法实现多态。第14页,此课件共95页哦消息通信消息通信消息是一个对象与另一个对象的通信单元,是要求某个对消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明。象执行类中定义的某个操作的规格说明。发送给一个对象的消息定义了一个发送给一个对象的消息定义了一个方法名方法名和一个和一个参数参数表表(可能是空的),并(可能是空的),并指定某一个指定某一个对象对象。一个对象接收到消息,则调用消息中指
15、定的一个对象接收到消息,则调用消息中指定的方法方法,并将并将形式参数与参数表中相应的值结合起来形式参数与参数表中相应的值结合起来。第15页,此课件共95页哦面向对象的开发方法面向对象的开发方法l l面向对象软件开发方法的特征面向对象软件开发方法的特征面向对象软件开发方法的特征面向对象软件开发方法的特征方法的唯一性方法的唯一性即方法是对软件开发过程所有阶段进行综合考虑而即方法是对软件开发过程所有阶段进行综合考虑而得到的。得到的。从生存期的一个阶段到下一个阶段的高度连续性,从生存期的一个阶段到下一个阶段的高度连续性,即生存期后一阶段的成果只是在前一阶段成果的即生存期后一阶段的成果只是在前一阶段成果
16、的补充和修改。补充和修改。将面向对象分析将面向对象分析(OOA)(OOA)、面向对象设计、面向对象设计(OOD)(OOD)和面和面向对象程序设计向对象程序设计(OOP)(OOP)集成到生存期的相应阶段。集成到生存期的相应阶段。第16页,此课件共95页哦l l Rumbaugh方法 RumbaughRumbaugh和他的同事提出的和他的同事提出的对象模型化技术对象模型化技术对象模型化技术对象模型化技术(OMT)(OMT)(OMT)(OMT)用用于分析、系统设计和对象级设计。分析活动建立三于分析、系统设计和对象级设计。分析活动建立三个模型:个模型:对象模型对象模型对象模型对象模型(描述对象、类、层
17、次和关系描述对象、类、层次和关系););动态模型动态模型(描述对象和系统的行为描述对象和系统的行为););功能模型功能模型(类似于高层的类似于高层的DFDDFD,描述穿越系统的信息,描述穿越系统的信息流流)。面向对象的开发方法面向对象的开发方法第17页,此课件共95页哦l l Coad和Yourdon方法 CoadCoad和和YourdonYourdon方法常常被认为是最容易学习的方法常常被认为是最容易学习的OOAOOA方方法。建模符号相当简单,其法。建模符号相当简单,其OOAOOA过程如下:过程如下:(1)(1)使用使用“要找什么要找什么”准则标识对象;准则标识对象;(2)(2)定义对象之间
18、的一般化定义对象之间的一般化/特殊化结构(又称为分类结构);特殊化结构(又称为分类结构);(3)(3)定义对象之间的整体定义对象之间的整体/部分结构(又称为组合结构);部分结构(又称为组合结构);(4)(4)标识主题;标识主题;(5)(5)定义对象的属性及对象之间的实例连接;定义对象的属性及对象之间的实例连接;(6)(6)定义服务及对象之间的消息连接。定义服务及对象之间的消息连接。面向对象的开发方法面向对象的开发方法第18页,此课件共95页哦l l Booch方法 包含包含“微开发过程微开发过程”和和“宏开发过程宏开发过程”两个过程。两个过程。OOA OOA 宏观开发过程如下:宏观开发过程如下
19、:标识类和对象;标识类和对象;标识类和对象的语义;标识类和对象的语义;标识类和对象间的关系;标识类和对象间的关系;进行一系列精化;进行一系列精化;实现类和对象。实现类和对象。面向对象的开发方法面向对象的开发方法第19页,此课件共95页哦l l Jacobson方法 也称为也称为OOSE(OOSE(面向对象软件工程面向对象软件工程),其特点是特别强,其特点是特别强调使用调使用用例用例用以描述用户和产品或系统间如何交用以描述用户和产品或系统间如何交互的场景。互的场景。过程如下:过程如下:标识系统的用户和他们的整体责任标识系统的用户和他们的整体责任构造需求模型构造需求模型构造分析模型构造分析模型 面
20、向对象的开发方法面向对象的开发方法第20页,此课件共95页哦5.2 UML简介面向对象的建模语言很多,目前使用最广泛的面向对象的建模语言很多,目前使用最广泛的是统一建模语言是统一建模语言(UML(UML,Unified Modeling Unified Modeling Language)Language);它将它将BoochBooch、RumbaughRumbaugh和和JacobsonJacobson等各自独立等各自独立的的OOAOOA和和OODOOD方法中最优秀的特色组合成一个统一方法中最优秀的特色组合成一个统一的方法。的方法。第21页,此课件共95页哦UMLUML的产生和发展的产生和发
21、展 UML(Unified Modeling Language)的概念于1996年由面向对象方法领域的三位著名专家Grady Booch,James Rumbaugh和Ivar Jacobson提出的。1996年6月和10月分别发布了UML0.9,UML0.911997年1月,UML1.0被提交给对象管理组织OMG1997年9月,提交UML1.1,1997年11月被OMG采纳作为基于面向对象技术的标准建模语言1998、2000、2001、2003、2005年分别发布了UML1.2、UML1.3、UML1.4、UML1.5、UML2.02011年发布了UML2.4,UML2.4.12013年发布
22、了UML2.5第22页,此课件共95页哦UMLUML的产生和发展的产生和发展第23页,此课件共95页哦(1)(1)统一标准统一标准 UMLUML不仅统一了不仅统一了BoochBooch、OMTOMT和和OOSEOOSE等方法中的基本概等方法中的基本概念,还吸取了面向对象技术领域中其他流派的长处,其念,还吸取了面向对象技术领域中其他流派的长处,其中也包括非中也包括非OOOO方法的影响。已经成为方法的影响。已经成为OMGOMG的标准。的标准。(2)(2)面向对象面向对象 UMLUML支持面向对象技术的主要概念,它提供了一批基本支持面向对象技术的主要概念,它提供了一批基本的表示模型元素的图形和方法,
23、能简洁明了地表达面向对象的表示模型元素的图形和方法,能简洁明了地表达面向对象的各种概念和模型元素。的各种概念和模型元素。UMLUML的特点的特点第24页,此课件共95页哦(3)(3)可视化,表达能力强大可视化,表达能力强大UMLUML是一种图形化语言,用是一种图形化语言,用UMLUML的模型图形能清晰地表示的模型图形能清晰地表示系统的逻辑模型或实现模型。系统的逻辑模型或实现模型。UMLUML还提供了语言的扩展机还提供了语言的扩展机制,用户可以根据需要增加定义自己的构造型、标记值和制,用户可以根据需要增加定义自己的构造型、标记值和约束等。约束等。(4)(4)独立于过程独立于过程 UMLUML是系
24、统建模的语言,不依赖特定的开发过程。是系统建模的语言,不依赖特定的开发过程。UMLUML的特点的特点第25页,此课件共95页哦(5)(5)容易掌握使用容易掌握使用 UMLUML概念明确,建模表示法简洁明了,图形结构清晰,概念明确,建模表示法简洁明了,图形结构清晰,容易掌握使用。容易掌握使用。(6)(6)与编程语言的关系与编程语言的关系 支持支持UMLUML的一些的一些CASECASE工具(如工具(如RoseRose)可以根据)可以根据 UMLUML所所建立的系统模型自动产生建立的系统模型自动产生JavaJava、C+C+等代码框架。等代码框架。UMLUML的特点的特点第26页,此课件共95页哦
25、UMLUML的基本模型的基本模型 UML UML符号为开发者或开发工具使用这些图形符号和文符号为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在这些图形符号和文字所表达的是应用级的模型,在语义上它是语义上它是UMLUML元模型的实例。元模型的实例。UMLUML模型由事物、关系和图组成模型由事物、关系和图组成 。第27页,此课件共95页哦UMLUML的基本模型的基本模型第28页,此课件共95页哦5.3 UML的事物事物是对模型中最具代表性成分的抽象,在事物是对模型中最具代表性成分的抽象,在UMLUML中,可以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 方法 课件
限制150内