欢迎来到天天文库
浏览记录
ID:40240858
大小:1.52 MB
页数:59页
时间:2019-07-28
《信息系统分析与设计 王兴鹏 ch06-面向对象与UML》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章面向对象与UML主讲:王兴鹏xingpengwang@163.com第一节面向对象方法面向对象方法所谓面向对象技术,顾名思义,就是以对象观点来分析现实世界中的问题。从普通人认识世界的观点出发,把事物归类、综合,提取共性并加以描述。在面向对象的系统中,世界被看成是独立对象的集合,对象之间通过过程(在面向对象术语中称之为“消息”)相互通信。面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送和多态性等概念来构造系统的软件开发方法。面向对象是近20年来国内外IT行业最为关注的技术之一,面向对象技术是一种按照人们对现实世界习惯的认识论和思维方式来研究和模拟客观世界
2、的方法学。1.OO方法的产生和发展面向对象的思想首先出现在程序设计的语言中,即面向对象的程序设计方法(Object-OrientedProgramming,OOP)真正的面向对象设计(OOP)还是来源于AlanKeyz主持设计的Smalltalk语言20世纪80年代中期,也就是C++语言十分热门的时候,面向对象分析(OOA)的研究开始发展,进而延伸到面向对象设计(OOD)二、面向对象的基本概念1.对象在面向对象方法中,对象是一组数据(属性)和施加于这些数据上的一组操作代码(操作)构成的独立类体。换言之,对象是一个有着各种特殊属性(数据)和行为方式(方法)的逻辑实体。对象
3、是一个封闭体,它向外界提供一组接口界面,外界通过这些接口与对象进行交互,这样对象就具有较强的独立性、自治性和模块性,从而为软件的重用奠定了坚实的基础。二、面向对象的基本概念2.消息对象通过对外提供服务发挥自身作用,对象之间的相互服务是通过消息来连接实现的。消息是为了实现某一功能而要求某个对象执行其中某个功能操作的规格说明。它一般含有下述信息:提供服务的对象标识、服务标识、输入信息和响应信息。对象接收消息,根据消息及消息参数调用自己的服务,处理并予以响应,从而实现系统功能。消息是对象之间相互作用和相互协作的一种机制,更通俗地讲,OOP中的术语“消息”只不过是现实世界中的“
4、请求”、“命令”等日常生活用语的同义词。二、面向对象的基本概念3.方法“方法”对应于对象的能力,它是实现对象所具有的功能操作代码段,是响应消息的“方法”。方法是类中定义的成员函数,它是该类对象所能执行的操作的算法实现。方法与消息是一一对应的,每当对象收到一个消息,方法正是与对象相连决定怎么做的操作执行代码。所以方法是实现每条消息具体功能的手段。二、面向对象的基本概念4.类在面向对象的软件技术中,类可以定义为由数据结构及相关操作所形成的集合,或所有相似对象的状态变量和行为构成的模板。类是对一组对象的抽象归纳与概括,更确切地说,类是对一组具有相同数据成员和相同操作成员的对象
5、的定义或说明。而每个对象都是某个类的一个具体实例。二、面向对象的基本概念5.继承继承是对象类间的一种相关关系,指对象继承它所在类的结构、操作和约束,也指一个类继承另外一个类的结构、操作和约束。继承体现了一种共享机制。继承机制既是一个对象类获得另一对象类特征的过程,也是一个以分层分级结构组织、构造和重用类的工具。它是解决客观对象“相似但又不同”的妙法。继承机制具有能清晰体现相似类间的层次结构关系;能减小代码和数据的重复冗余度,大大增强程序的重用性;能通过增强一致性来减少模块间的接口和界面,大大增强程序的易维护性等特点。二、面向对象的基本概念6.封装封装(encapsula
6、tion)即信息隐藏。它保证软件部件具有较好的模块性,可以说封装是所有主流信息系统方法学中的共同特征,它对于提高软件清晰度和可维护性,以及软件的分工有重要的意义。我们从两个方面来理解封装的含义。(1)当设计一个程序的总体结构时,程序的每个成分应该封装或隐藏为一个独立的模块,定义每一模块时应主要考虑其实现的功能,而尽可能少地显露其内部处理逻辑。(2)封装表现在对象概念上。对象是一个很好的封装体,它把数据和服务封装于一个内在的整体。对象向外提供某种界面(接口),可能包括一组数据(属性)和一组操作(服务),而把内部的实现细节(如函数体)隐藏起来,外部需要该对象时,只需要了解它
7、的界面就可以,即只能通过特定方式才能使用对象的属性或对象。这样既提供了服务,又保护自己不轻易受外界的影响。二、面向对象的基本概念7.多态性多态性(polymorphism)指相同的操作(或函数,过程)可作用于多种类型的对象并获得不同的结果。在面向对象方法中,可给不同类型的对象发送相同的消息,而不同的对象分别做出不同的处理。例如给整数对象和复数对象定义不同的数据结构和加法运算,但可以给它们发送相同的消息“做加法运算”,整数对象接收此消息后做整数加法运算,复数对象则做复数加法运算,产生不同的结果。多态性增强了软件的灵活性、重用性、可理解性。三
此文档下载收益归作者所有