面向对象技术与分析

面向对象技术与分析

ID:42322718

大小:387.01 KB

页数:53页

时间:2019-09-12

面向对象技术与分析_第1页
面向对象技术与分析_第2页
面向对象技术与分析_第3页
面向对象技术与分析_第4页
面向对象技术与分析_第5页
资源描述:

《面向对象技术与分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章面向对象技术内容介绍5.1面向对象技术的概念5.2面向对象分析5.3面向对象设计5.4面向对象系统的实现5.5案例分析5.6小结5.1面向对象技术的概念5.1.1面向对象方法概述5.1.2面向对象的概念5.1.3面向对象方法的主要优点5.1.1面向对象方法概述面向对象方法(Object-OrientedMethod)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法。面向对象源出于Simula,真正的OOP由Smalltalk奠基。Smallt

2、alk现在被认为是最纯的OOPL。面向对象方法的作用和意义决不只局限于编程技术,它是一种新的程序设计范型——面向对象程序设计范型;是信息系统开发的新方法论——面向对象方法学;是正在兴起的新技术——面向对象技术。5.1.2面向对象的概念1.对象(Object)在应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象(Object),它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。对象的几个定义(1)定义1对象是具有相同状态的一组操作的集合。5.1.2面向对象的概念(

3、3)定义3对象=其中,ID是对象的标识或名字有关。MS是对象中的操作集合。DS是对象的数据结构。MI是对象受理的消息名集合(即对外接口)。(2)定义2对象是对属性值和操作的封装。5.1.2面向对象的概念在面向对象的软件技术中,“类”就是对具有相同属性和相同操作的一组相似对象的集合。也就是说,类是对具有相同属性和行为的一个或多个对象的描述,通常在这种描述中也包括对怎样创建该类的新对象的说明。一个类中的每个对象都是这个类的一个实例(instance)。2.类(Class)类和对象的关系类似于

4、程序设计语言中的类型(type)和变量(variable)之间的关系。5.1.2面向对象的概念消息,就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常,一个消息由下述三部分组成:·接收消息的对象;·消息选择符(也称为消息名);·零个或多个变元。3.消息(Message)例如,MyCircle是一个半径4cm、圆心位于(100,200)的Circle类的对象,也就是Circle类的一个实例,当要求它以绿颜色在屏幕上显示自己时,在C++语言中应该向它发下列消息:MyCircle.Show(GREE

5、N);其中MyCircle是接收消息的对象的名字,Show是消息选择符(即消息名),圆括号内的GREEN是消息的变元。当MyCircle接收到这个消息后,将执行在Circle类中所定义的Show操作。5.1.2面向对象的概念方法,就是对象所能执行的操作,也就是类中所定义的服务。方法描述了对象执行操作的算法,响应消息的方法。在C++语言中把方法称为成员函数。4.方法(Method)例如,为了Circle类的对象能够响应让它在屏幕上显示自己的消息Show(GREEN),在Circle类中必须给出成员函数Show(in

6、tcolor)的定义,也就是要给出这个成员函数的实现代码。5.1.2面向对象的概念属性,就是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。类的每个实例都有自己特有的属性值。5.属性(Attribute)在C++语言中把属性称为数据成员。例如,Circle类中定义的代表圆心坐标、半径、颜色等的数据成员,就是圆的属性。5.1.2面向对象的概念在面向对象的程序中,我们把数据和实现操作的代码集中起来放在对象内部。使用一个对象的时候,只需知道它向外界提供的接口形式而无须知道它的数据结构细节和实现操作的算法。6.封

7、装(Encapsulation)具有封装性的条件如下:(1)有一个清晰的边界。(2)有确定的接口(即协议)(3)受保护的内部实现。5.1.2面向对象的概念一个类可以定义为另一个更一般的类的特殊情况,如“轿车”类是“汽车”类的特殊情况,称一般类是特殊类的父类或超类(superclass),特殊类是一般类的子类(subclass)。7.继承(Inheritance)5.1.2面向对象的概念多态性是指同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。例如,“画”操作,作用在“矩形”对象上,则在屏幕上画

8、一个矩形,作用在“圆”对象上,则在屏幕上画一个圆。8.多态性(Polymorphism)5.1.2面向对象的概念有两种重载:函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;运算符重载是指同一个运算符可以施加于不同类型的操作数上面。9.重载(Overloading)在C++语言中函数重载是通过静态联编(也叫先前联编)实现的,也就是在编译时根据函数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。