面向对象方法概述.ppt
《面向对象方法概述.ppt》由会员分享,可在线阅读,更多相关《面向对象方法概述.ppt(53页珍藏版)》请在三一办公上搜索。
1、面向对象方法概述,面向对象方法概述,面向对象方法的组成什么是面向对象面向对象技术的发展历史面向对象的基本概念面向对象的软件工程方法,面向对象方法概览,1 什么是面向对象,面向对象(Object Oriented)技术是软件工程领域中的重要技术,这种软件开发思想比较自然地模拟了人类认识客观世界的方式,成为当前计算机软件工程学中的主流方法。应该特别强调的是,面向对象技术不仅仅是一种程序设计方法,更重要的是一种对真实世界的抽象思维方式。,1 什么是面向对象,面向对象方法按照人类的自然思维方式,面对客观世界建立软件系统模型:对象、类、继承、封装等基本概念符合人类的自然思维方式。有利于对业务领域和系统责
2、任的理解。有利于人员的交流,1 什么是面向对象,面向对象技术的基本观点如下:(1)客观世界是由对象组成的,任何客观的事物或实体都是对象,复杂的对象可以由简单的对象组成。(2)具有相同数据和相同操作的对象可以归并为一个类,对象是对象类的一个实例。(3)类可以派生出子类,子类继承父类的全部特性(数据和操作),又可以有自己的新特性。子类与父类形成类的层次结构。(4)对象之间通过消息传递相互联系。类具有封装性,其数据和操作等对外界是不可见的,外界只能通过消息请求进行某些操作,提供所需要的服务。,1 什么是面向对象,软件工程学家Codd和Yourdon认为:面向对象对象类继承通信 如果一个软件系统采用这
3、些概念来建立模型并予以实现,那么它就是面向对象的。,2 面向对象技术的发展历史,面向对象方法起源于面向对象程序设计语言,后来才逐步形成了面向对象的分析和设计方法,其发展过程大体上经历了初始阶段、发展阶段和成熟阶段等过程。,2 面向对象技术的发展历史,初始阶段60年代末挪威奥斯陆大学和挪威计算中心共同研制的Simula语言是面向对象语言发展历史上的第一个里程碑,它首先引入了类的概念和继承机制,后来的一些著名面向对象编程语言(如Smalltalk、C+、Eiffel)都受到Simula的启发。KRISTEN NYGAARD(Simula创始人),2 面向对象技术的发展历史,初始阶段80年代,Xer
4、ox研究中心推出了Smalltalk语言和环境,它具备了面向对象语言的继承和封装的主要特征,使面向对象程序设计方法趋于完善,掀起了面向对象研究的高潮。,2 面向对象技术的发展历史,发展阶段从80年代中期到90年代,面向对象语言十分热门,大批比较实用的面向对象编程语言(Object Oriented Programming Language,OOPL)涌现出来,如C+、Objective-C、Object Pascal、CLOS(Common Lisp Object System)、Eiffel、Actor等,特别是C+语言已成为目前应用最广泛的OOPL。Bjarne Stroustrup(C+
5、创始人),2 面向对象技术的发展历史,发展阶段90年代中期,出现了JAVA语言。JAMES GOSLING,2 面向对象技术的发展历史,发展阶段从80年代中期到90年代,面向对象语言十分热门,大批比较实用的面向对象编程语言(Object Oriented Programming Language,OOPL)涌现出来,如C+、Objective-C、Object Pascal、CLOS(Common Lisp Object System)、Eiffel、Actor等,特别是C+语言已成为目前应用最广泛的OOPL。面向对象编程语言的繁荣是面向对象方法走向实用的重要标志,也是面向对象方法在计算机学术
6、界、产业界和教育界日益受到重视的推动力。,2 面向对象技术的发展历史,成熟阶段在C+语言十分热门的时候,人们开始了对面向对象分析(Object Oriented Anlysis,OOA)的研究,进而延伸到面向对象设计(Object Oriented Design,OOD)。特别是90年代以后,许多专家都在尝试用不同的方法进行面向对象的分析与设计,其中比较著名的有Booch的方法、Rumbaugh的OMT方法、Coad/Yourdon的方法、Wirtf-Brock的RDD方法、Shlear-Mellor的方法、Gibon的OBA方法、Jacobson的OOSE方法、Martin-Odell的方法
7、、Fusion方法等,这些方法各有所长,力图解决复杂软件系统的开发问题。在这段时期,面向对象的分析和设计技术逐渐走向实用,最终形成了从分析、设计到编程、测试与维护一整套的软件工程体系。,3 面向对象的基本概念,对象对象从不同的角度有不同的含义,我们针对系统开发来讨论对象的概念,其定义是:对象(Object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。在这里,属性和服务是构成对象的两个基本要素,其定义是:属性是用来描述对象静态特征的一个数据项。服务是用来描述对象动态特征(行为)的一个操作序列。,3 面向对象的基本概念,例子:,面向
8、对象的基本概念(例子),What are the games objects?What do those objects knowhow to do?What properties do they have?,面向对象的基本概念(例子),What are the games objects?piece,boardCapabilities:What do those objects know how to do?piece:be created fall rotate stop at collision board:be created remove rows check for end of
9、game Properties:What attributes and components do they have?piece:orientation position shape color board:size rows,3 面向对象的基本概念,从一般意义上讲,对象是现实世界中的一个实际存在的事物,它可以是有形的,如车辆、房屋等,也可以是无形的,如国家、生产计划等。而人们在开发一个系统时,则在一定的范围(也称问题域)内考虑和认识与系统目标有关的事物,并用系统中的对象来抽象地表示它们。在这里,对象只描述客观事物本质的、与系统目标有关的特征,而不考虑那些非本质的、与系统目标无关的特征。同时
10、,对象是属性和服务的结合体,对象的属性值只能由这个对象的服务来读取和修改。,3 面向对象的基本概念类,类(Class)是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。类好比是一个对象模板,用它可以产生多个对象。类所代表的是一个抽象的概念或事物,在客观世界中实际存在的是类的实例,即对象。,3 面向对象的基本概念类,举例:在学校教学管理系统中,“学生”是一个类,其属性具有姓名、性别、年龄等,可以定义“入学注册”、“选课”等操作。一个具体的学生“王平”是一个对象,也是“学生”类的一个实例。,3 面向对象的基本概念类,把众多的事物归纳
11、并划分成一些类是人类在认识客观世界时经常采用的思维方法,分类的原则是抽象,从那些与当前目标有关的本质特征中找出事物的共性,并将具有共同性质的事物划分成一类,得出一个抽象的概念。例如:人、房屋、树木等都是一些抽象的概念,它们是一些具有共同特征的事物的集合,称为类。类的概念使我们能对属于该类的全部个体事物进行统一的描述,树具有树根、树干、树枝和树叶,它能进行光合作用,这个描述适合所有树,而不必对每一棵具体的树进行描述。,3 面向对象的基本概念 封装,封装(Encapsulation)是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。封装是面向对象方法的一个重要原则,系统中把
12、对象看成是属性和对象的结合体,使对象能够集中而完整地描述一个具体事物。封装的信息隐蔽作用反映了事物的相对独立性,当我们从外部观察对象时,只需要了解对象所呈现的外部行为(即做什么),而不必关心它的内部细节(即怎么做)。,3 面向对象的基本概念封装,举例:电视机包括外形尺寸、分辨率、电压、电流等属性,具有打开、关闭、调谐频道、转换频道、设置图象等服务,封装意味着将这些属性和服务结合成一个不可分的整体,它对外有一个显示屏、插头和一些按钮等接口,用户通过这些接口使用电视机,而不关心其内部的实现细节。,3 面向对象的基本概念封装,与封装密切相关的概念是可见性,它是指对象的属性和服务允许对象外部存取和引用
13、的程度。在软件上,封装要求对象以外的部分不能随意存取对象的内部数据(属性),从而有效地避免了外部错误对它的交叉感染,使软件错误能够局部化,大大减少了查错和排错的难度。另外,当对象内部需要修改时,由于它只通过少量的服务接口对外提供服务,便大大减少了内部修改对外部的影响,即减少了修改引起的波动效应。,3 面向对象的基本概念封装,封装也有副作用,如果强调严格的封装,则对象的任何属性都不允许外部直接存取,因此就要增加许多没有其他意义、只负责读或写的服务,从而为编程工作增加了负担,增加了运行开销。为了避免这一点,语言往往采取一种比较灵活的做法,即允许对象有不同程度的可见性。,3 面向对象的基本概念继承,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 方法 概述
链接地址:https://www.31ppt.com/p-5372171.html