软件工程ppt课件 第四章 面向对象技术.ppt
《软件工程ppt课件 第四章 面向对象技术.ppt》由会员分享,可在线阅读,更多相关《软件工程ppt课件 第四章 面向对象技术.ppt(57页珍藏版)》请在三一办公上搜索。
1、第 四 章,面向对象的技术,面向对象的思想最初出现于挪威奥斯陆大学和挪威计算机中心共同研制的Simula 67语言中,随着的Smalltalk-76和80语言推出,面向对象的的程序设计方法得到了比较完善的实现。 此后,面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统,交互式界面,分布式系统,网络管理结构和人工智能等领域。 面向对象的技术已成为软件开发的一种新方法,新技术。,4.1 面向对象的基本概念,4.1.1 什么是面向对象的开发方法 OOSD (Object-Oriented Software Development)法是一种 把面向对象的思想应用于软件开发过程,指导开发
2、活动的系统方法。,问题空间软件系统所涉及到的应用领域和业务范围(现实世界)。解空间用于解决某些问题的软件系统。,一、软件开发过程,问题空间(现实世界),解空间(软件系统),映射,二、传统软件开发方法存在的问题,1.传统软件开发方法无法实现从问题空间到解空间的直接映射。,问题空间(现实世界),解空间(软件系统),复杂映射,2.传统软件开发方法无法实现高效的软件复用。 原因是:传统软件开发方法数据与代码(操作)分离。,3.传统软件开发方法难以实现从分析到设计的直接过渡。,复杂转换,分析文档(DFD),设计文档(SC),三、面向对象技术的特点 1.对软件开发过程所有阶段进行综合考虑。 使问题空间与解
3、空间具有一制性,降低复杂性。 2.软件生存期各阶段所使用的方法、技术具有高度的连续性,用符合人类认识世界的思维方式来分析、解决问题。,3. 将OOA、OOD、OOP有机地集成在一起。有利于系统的稳定性. OOA(Object-Oriented Analysis) OOD(Object-Oriented Design) OOP(Object-Oriented Program) 以对象为中心各种构造系统,而不是以功能为中心,能很好地适应需求变化.4. 具有良好的可重用性 由于对象所具有的封装性和信息隐蔽,具有很强的独立性。,理解面向对象的基本概念对于学习和掌握面向对象的开发方法是十分重要的。,4.
4、1.2 面向对象的概念,1、 对象(Object) 对象(Object)是客观事物或概念的抽象表述,即对客观存在的事物的描述统称为对象。 对象可以是事、物、或抽象概念 ,是将一组数据和使用该数据的一组基本操作或过程封装在一起的实体。属性 (attribute) 对象本身的性质。操作(operation) 给对象定义一组运算。对象将它自身的属性及运算“包装起来”,称为“封装”(encapsulation). 对象的最基本的特征是封装性和继承性。,2、 类(Class)类又称对象类(Object Class),是一组具有相同属性和相同操作的对象的集合。在一个类中,每个对象都是类的实例(instan
5、ce) ,它们都可以使用类中提供的函数。类具有属性,用数据结构来描述类的属性,类具有操作,它是对象的行为的抽象,操作实现的过程称为方法(method) ,方法有方法名,方法体和参数。,由于对象是类的实例,在进行分析和设计时,通常把注意力集中在类上,而不是具体的对象上。,图4.1 对象类的描述,对象和类的描述对象和类一般采用“对象图” 和 “类图” 来描述。,对象,类,3、 继承 (Inheritance) 继承是使用现存的定义作为基础,建立新定义的技术。是父类和子类之间共享数据结构和方法的机制,这是类之间的一种关系。 继承性分: 单重继承:一个子类只有一个父类。即子类只继承一个父类的数据结构和
6、方法。 多重继承:一个子类可有多个父类。继承多个父类的数据结构和方法。,现存类定义父类(基类),新类定义子类(派生类),继 承,图 4.3 继承性,4、消息(Message) 消息就是向对象发出的服务请求(互相联系、协同工作等)。对象之间的联系可表示为对象间的消息传递,即对象间的通讯机制。 一个消息应该包含以下信息:消息名、接收消息对象的标识、服务标识 、消息和方法、输入信息、回答信息。,在对象的操作中当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的消息。,5、多态性和动态绑定 多态性(Polymorphism)是指相同的操作或函数、过程作用于不同的对象上并获得不同的结果。 即相同
7、的操作的消息发送给不同的对象时,每个对象将根据自己所属类中定义的操作去执行,产生不同的结果。 例如: “绘图”操作,作用在“椭圆” 和“矩形” 上,画出不同的图形。,动态绑定(dynamic binding)是在运行时根据对象接收的消息动态地确定要连接的服务代码。使用虚函数可实现动态联编,不同联编可以选择不同的实现,这便是多态性。 继承是动态联编的基础,虚函数是动态联编的关键。,多态性的实现举例,实现多态性的基本步骤(以VC为例):(1)在基类中,定义成员函数为虚函数(virtual);(2)定义基类的公有(public)派生类;(3)在基类的公有派生类中“重载”该虚函数;(4)定义指向基类的
8、指针变量,它指向基类的公有派生类的对象。,注意:重载虚函数不是一般的重载函数,它要求函数名、返回类型、参数个数、参数类型和顺序完全相同。,例如:下面是实现“多态性” 的一个例子#include class figure /定义基类 protected: double x,y; public: void set_dim(double i; double j=0) x=i; y=j; virtual void show_area() /定义虚函数 cout“No area computation define ”; cout“for this class.n”; ;,(1) 在基类中,将成员函数说
9、明为虚函数(virtual);,class triangle: public figure / (2)定义基类的公有派生类 public: virtual void show_area() / (3)“重载”该虚函数 求三角形面积 ;class square: public figure / (2)定义基类的公有派生类 public: virtual void show_area() / (3)“重载”该虚函数 求矩形面积 ;class circle: public figure / (2)定义基类的公有派生类 public: virtual void show_area() / (3)“重载
10、”该虚函数 求园面积 ;,p= ,(4)运行过程中实现“动态绑定”,6、永久对象(Persistent object) 所谓永久对象是指生存期可以超越程序的执行时间而长期存在的对象。 目前,大多数OOPL不支持永久对象,如果一个对象要长期保存,必须依靠于文件系统或数据库管理系统实现,程序员需要作对象与文件系统或数据库之间数据格式的转换,以及保存和恢复所需的操作等烦琐的工作。 为了实现永久对象,使上述烦琐工作由系统自动完成,需要较强的技术支持;需要一个基于永久对象管理系统OMS(object management system),能够描述和处理永久对象的编程语言。,图4.6面向对象开发过程的应用
11、生存期模型,OOA,应用生存期在面向对象开发的各个阶段,开发的“部件”都是类,因此面向对象的各个阶段都是对类的信息进行细化。类是分析、设计和实现的基本单元。,虽然图中各阶段的顺序是线性的,但实际过程的交错和相互作用要复杂得多。,OOD,4.面向对象的开发过程,4.3 面向对象的分析,面向对象分析OOA(Object-Oriented Analysis)的目标是完成对所求解问题的分析,确定系统“作什么”,并建立系统的模型。,OOA的基本任务 运用面向对象的方法,对问题域和系统责任进行分析和理解,找出描述它们的类和对象,定义其属性和操作,及其结构、静态联系和动态联系。,基本概念: 问题域(prob
12、lem domain) 被开发系统的应用领域。 系统责任(system responsibilities) 所开发的系统应具备的职能。,4.3.1 OOA的分析过程,图4.7 OOA分析过程,4.3.2 OOA模型,图4.8 OOA模型与详细说明,基本模型是一个类图(class diagram),是以直观的方式表达系统最重要的信息。OOA基本模型的三个层次分别描述了:系统中应设哪几类对象,每类对象的内部构成,对象与外部的关系。,4.3.2 OOA模型,主题(subject)又称为子系统(subsystem)是将一些联系密切的类组织在一起的类的集合。按照粒度控制原则,将系统组成几个主题,便于理解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程ppt课件 第四章 面向对象技术 软件工程 ppt 课件 第四 面向 对象 技术
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-1444598.html