153-面向对象的开发方法.ppt
《153-面向对象的开发方法.ppt》由会员分享,可在线阅读,更多相关《153-面向对象的开发方法.ppt(73页珍藏版)》请在三一文库上搜索。
1、面向对象的开发方法,第一节 面向对象概述 第二节 面向对象的基本概念 第三节 面向对象分析(OOA) 第四节 面向对象设计(OOD) 第五节 面向对象编程,第一节 面向对象概述,一、发展概述 面向对象并非是一个新的概念,实际上它已有30多年的历史。寻其根源可追溯到60年代的挪威,当时挪威计算中心的Kristen Nygaard和Ole-Johan Dahl开发了一种称作Simula67的语言。Simula67首次引入了类、协同程序和子类的概念,这很象今天的面向对象语言。 70年代中期,Xerox Palo Alto研究中心的研究人员设计了Smalltalk语言,该语言的每个元素都被当作一个对象
2、来实现,其程序设计环境及相关的各个方面都是面向对象的。,第一节 面向对象概述,但是,面向对象的推广很慢。例如:Samlltalk的成果直到1981年8月因Byte杂志的介绍才为外界所知,许多软件开发人员了解Samlltalk时,都把它看作是一个窗口系统,而不是程序设计技术的一次革命。 80年代,C成为很受欢迎的程序设计语言,它不仅可用在微机上,还可用在多种结构的系统和环境中。80年代早期,AT&T贝尔实验室的Bjarne Stroustrup把C语言扩展为支持面向对象程序设计的C+。在C+中,程序员可以在其熟悉的语言环境下学习掌握面向对象的程序设计技术,而不必去探究一种新的语言和环境。,第一节
3、 面向对象概述,自90年代以来,软件与硬件之间的差距至少有两代处理器之多,并且这种差距还在增大。当软件系统变得更加复杂时,常规软件工具、技术和概念已不足以应付,从而使软件开发者陷入了困境。但面向对象的方法能够控制软件的复杂性,从而促进了面向对象的发展,掀起了一股“面向对象”热。,第一节 面向对象概述,二、研究领域 目前国内外关于面向对象的研究领域主要在以下几个方面: 1.理论:包括方法、面向对象设计的本质以及语义模型的研究。 2.语言:包括现有面向对象的程序设计语言的研究、设计新的面向对象的程序语言,将面向对象的设计思想引入其它语言(如Ada,Prolog,Lisp,C,Pascal,Foxp
4、ro等) 3.实现:包括体系结构的支撑、编译与解释、其它特殊技术等。 4.环境:包括面向对象的软件开发环境的设计与实现。,第一节 面向对象概述,5.重用:为了实现重用,需要研究对象的规格说明等。 6.原型:面向对象的设计方法如何用于实现快速原型。 7.应用:将面向对象的设计方法用于商业、教育及科学等实际问题的处理中。 8.其它方面:将面向对象的设计方法用到数据库、操作系统、知识工程、人工智能、自然语言处理等其它领域。,第二节 面向对象的基本概念,一、对象 1.定义 对象是和有数据及可对这些数据施加的操作结合在一起所构成的独立单位的总称,是具有一定知识和处理能力的独立个体。它可以是具体的物理实体
5、,如一个文件;也可是是人为抽象概念的,如多任务操作系统中的调度策略。 从面向对象程序设计的角度看:对象是具有相同状态的一组操作的集合。 从信息模拟的角度看:对象是对问题域中某个东西的抽象,这种抽象反映了系统保存有关这个东西的信息和与它交互的能力,即对象是对属性值和操作的封装。,第二节 面向对象的基本概念,从形式化角度看: 对象:= 其中:ID是对象的标识或名字,MS是对象中的数据集合,DS是对象中的数据结构,MI是对象受理的消息名集合。,第二节 面向对象的基本概念,2.特点 标识唯一性:指对象是可区分的,并且由对象的内在本质来区分,而不是通过描述来区分。 分类性:指可以将具有相同数据结构(属性
6、)和行为(操作)的对象抽象成类。 多态性:指同一个操作可以是不同对象的行为。 封闭性:从外面看只能看到对象的外部特性,即能够受理哪些信息,具有哪些处理能力;对象的内部,即处理能力的实行和内部状态,对外是不可见的。从外面不能直接使用对象的处理能力,也不能直接修改其内部状态,对象的内部状态只能由其自身改变。,第二节 面向对象的基本概念,动态产生性:对象是在系统执行过程中根据需要而动态产生的。 一定的“智力”性:对象具有一定的“智力”,表现在能够解释传来的信息,理解由消息带来的要求,并独立,第二节 面向对象的基本概念,3.表现形式 外部实体(如一个系统、设备、人等):产生或消耗一个基于计算机的系统所
7、用的信息 物(如报告、显示、信件、信号等):问题信息域的一部分。 事件(如一次信号传输或一系列机器人动作的完成):发生于系统操作的有关时刻。 角色(如管理者、工程师等):由与系统交互作用的人来扮演。 组织单位(如部门、小组等):与应用相关的机构。,第二节 面向对象的基本概念,场所(如制作平台、办公室等):使问题和系统的整个运作有固定的位置。 结构(如传感器、计算机等):定义一类对象或定义对象的相关类,第二节 面向对象的基本概念,二、类 1.定义 类是对象类的略写,是对象的抽象,是一种对象模型,它描述了属于该对象类型的所有对象的性质。 例如:Integer是一个整数类,它描述了所有整数的性质。,
8、第二节 面向对象的基本概念,2.实现 类是关于对象性质的描述,包括外部特性和内部实现两个方面。类通过描述消息模式及其相应的处理能力定义类的外部属性,通过描述内部状态的表现形式及固有处理能力的实现定义类的内部实现。,类的实现图示,消息模式1:处理能力1 消息模式n:处理能力n,消息模式1 处理能力1的实现 消息模式n 处理能力n的实现,内部状态的表现形式,外部特性,内部实现,第二节 面向对象的基本概念,3.父类、子类、超类 父类:一个类的上层是父类。 子类:一个类的下层是子类。 超类:如果C2是C1的子类,C3是C2的子类,则C1是C3的超类。 4.描述,类名 属性、方法等,第二节 面向对象的基
9、本概念,三、实例 实例是某个具体类所描述的一个具体对象。例如:“张三”、“李四”是类“中国人”的实例。 对象既可以是一个具体的对象,也可以泛指一般的对象;而实例只能是一个具体的对象。,第二节 面向对象的基本概念,四、属性 属性是类中对象所具有的数据值,是对对象的描述。如对象Person的属性有姓名、年龄、体重等。 不同对象的同一属性可以具有相同或不同的属性值。如张三的年龄为19,李四的年龄为20。张三、李四是两个不同的对象,他们共同属性“年龄”的值不同。 属性值应该指的是纯粹的数据值,而不能指对象。 属性表示在类图中的第二部分。每个属性名后均可附加一些说明,诸如类型和缺省值之类。,第二节 面向
10、对象的基本概念,五、操作和方法 操作以某种方式改变对象,即改变对象包含的一个或多个属性值。 对象所能执行的操作称为方法,也就是类中所定义的服务。方法描述了对象执行操作的算法、响应消息的操作。 每个操作都有一目标对象作为其隐含参数,操作的行为取决于其目标对象所归属的类。对象“知道”其所归属的类,所以能正确地实现该操作。 同一操作可适用于不同的类。操作的多态性指的是在不同的类中,同一操作的形式不同。,第二节 面向对象的基本概念,操作一般分为三个类型 以某种方式处理数据的操作:如添加、删除、修改、选取等。 执行一次计算的操作 监控一个对象的操作,第二节 面向对象的基本概念,六、消息 消息是用来请求对
11、象执行某一处理或回答某一要求的信息,是对象之间建立的一种通信机制,它统一了数据流和控制流。 通常一个消息由三部分组成: 接收消息的对象 消息标识符(即消息名) 零个或多个变元 例如:MyCircle.Show(Green) MyCircle是接收消息的对象的名字,Show是消息名,Green是消息的变元。,第二节 面向对象的基本概念,如何要求对象完成一定的处理动作?对象间如何进行联系?所有这一切都只能通过消息传递来实现。 传递消息的对象称为发送者,接受消息的对象称为接受者。 消息中只包含传递者的要求,它告诉接受者需要哪些处理,但并不指示接受者应该怎样完成这些处理。 消息完全由接受者解释,接受者
12、独立决定采用什么方式完成所需的处理,发送者对接受者不起任何控制作用。,第二节 面向对象的基本概念,一个对象能够接受不同形式、不同内容的多个消息;相同形式的消息可以送往不同的对象,不同的对象对于形式不同的消息可以有不同的解释,能够做出不同的反映。 一个对象可以同时往多个对象传递信息,两个对象也可以同时向某个对象传递消息。 接受者响应消息的过程: 选择符合消息要求的操作 执行该操作 将控制权返回调用者,第二节 面向对象的基本概念,七、继承性 广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象中,继承是子类自动地共享基类中定义的数据和方法的机制。 父类:类的上层 子类:类
13、的下层,第二节 面向对象的基本概念,类A,A的实例a1,类B:A的子类,B的实例b1,实现继承机制的原理,第二节 面向对象的基本概念,继承具有传递性 如果类C继承类B,类B继承类A,则类C继承类A。 单继承与多继承 单继承:一个类只允许有一个父类,即类等级为树形结构。 多继承:一个类允许有多个父类,第二节 面向对象的基本概念,继承性的优点 共享程序代码和数据结构,大大减少程序中的冗余信息,提高软件的可重用性。 便于软件修改维护。当需要扩充原有的功能时,派生类的方法可以调用其基类的方法,并在此基础上增加必要的程序代码;当需要完全改变原有的算法时,可以在派生类中实现一个与基类方法同名而算法不同的方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 153 面向 对象 开发 方法
链接地址:https://www.31doc.com/p-3032312.html