面向对象技术概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 获取客户对系统的需求:包括标识场景和用况, 以及建造需求模型
2. 用基本的需求为指南,来确定类和对象(包括属 性和操作)
3. 定义类的结构和层次(继承关系) 4. 建造对象—关系模型 5. 建造对象—行为模型 6. 利用用况/场景来复审分析模型
18
分析过程
获取客户对系统的需求
需求获取必须让客户与开发者充分地交流,这里介绍一 种采用用况来收集客户需求的技术。分析员首先标识使 用该系统的不同的执行者(actor),这些执行者代表使 用该系统的不同的角色。每个执行者可以叙述他如何使 用系统,或者说他需要系统提供什么功能。执行者提出 的每一个使用场景(或功能)都是系统的一个用况的实 例,一个用况描述了系统的一种用法(或一个功能), 所有执行者提出的所有用况构成系统的完整的需求
6
面向对象的基本概念
7
面向对象的基本概念
类(class)
类是一组具有相同属性和相同操作的对象的集合。一个 类中的每个对象都是这个类的一个实例(instance)
类是创建对象的模板,从同一个类实例化的每个对象都 具有相同的结构和行为
8
面向对象的基本概念
9
面向对象的基本概念
封装(encapsulation)
19
注意,执行者与用户是不同的两个概念,一个用 户可以扮演几个角色(执行者),一个执行者可 以是用户,也可以是其他系统(应用程序或设 备)。得到的用况必须进行复审,以使需求完整
20
分析过程
标识类和对象
类和对象来自问题领域 可以先标识候选类,然后进行筛选
21
定义类的结构和层次
类的结构主要有两种: 一般— 特殊(generalization— specialization)结构和整体—部分(whole—part)结构
12
面向对象的基本概念
13
面向对象的基本概念
多态性(polymorphism)
多态性是指同一个操作作用于不同的对象上可以有不同 的解释,并产生不同的执行结果。例如“画”操作,作 用在“矩形”对象上,则在屏幕上画一个矩形,作用在 “圆”对象上,则在屏幕上画一个圆。也就是说,相同 操作的消息发送给不同的对象时,每个对象将根据自己 所属类中定义的这个操作去执行,从而产生不同的结果
Peter Coad和Edward Yourdon提出用下列等式识认面向对象 方法:
面向对象= 对象(object)+ 类(class)+ 继承(inheritance) + 通过消息的通信(communication with messages)
可以说,采用这四个概念开发的软件系统是面向对象的
14
面向对象的基本概念
动态绑定(dynamic binding)
动态绑定是指在程序运行时才将消息所请求的操作与实 现该操作的方法连接起来
传统的程序设计语言的过程调用与目标代码的连接(即 调用哪个过程)放在程序运行前(即编译链接时)进行 (称为静态绑定),而动态绑定则是把这种连接推迟到 运行时才进行
5
面向对象的基本概念
对象(object)
对象是指一组属性以及这组属性上的专用操作的封装体 属性(attribute)(对象的静态特征)通常是一些数据,
有时它也可以是另一个对象。每个对象都有它自己的属 性值,表示该对象的状态。对象中的属性只能通过该对 象所提供的操作来存取或修改。 操作(operation)(对象的动态特征,也称方法或服务) 规定了对象的行为,表示对象所能提供的服务
动态绑定是一种在运行时确定被执行代码的技术
15
面向对象的Hale Waihona Puke Baidu本概念
在一般与特殊关系中,子类是父类的一个特例, 所以父类对象可以出现的地方,也允许其子类对 象出现。因此在运行过程中,当一个对象发送消 息请求服务时,要根据接收对象的具体情况将请 求的操作与实现的方法进行连接,即动态绑定
16
17
面向对象分析
是一种信息隐蔽技术,用户只能看见对象封装界面上的 信息,对象的内部实现对用户是隐蔽的。封装的目的是 使对象的使用者和生产者分离,使对象的定义和实现分 开
一个对象通常可由对象名、属性和操作三部分组 成
10
面向对象的基本概念
消息(message)
消息传递是对象间通信的手段,一个对象通过向另一个 对象发送消息来请求其服务。一个消息通常包括接收对 象名、调用的操作名和适当的参数(如果有必要的话)。 消息只告诉接收对象需要完成什么操作,但并不指示接 收者怎样完成操作。消息完全由接收者解释,接收者独 立决定采用什么方法完成所需的操作
11
面向对象的基本概念
继承(inheritance)
继承是类间的基本关系,它是基于层次关系的不同类共 享数据和操作的一种机制。父类中定义了其所有子类的 公共属性和操作,在子类中除了定义自己特有的属性和 操作外,可以继承其父类(或祖先类)的属性和操作, 还可以对父类(或祖先类)中的操作重新定义其实现方 法
一般—特殊结构是一种分类结构,反映了类间的一般与 特殊的关系。一般类与特殊类之间是一种“is a”的关系, 如:汽车是一种交通工具。同样,特殊类还可以分为更 特殊的类,这样可形成类的层次结构
整体—部分结构反映了类间的整体与部分关系。值得注 意的是,整体—部分关系是对对象而言的,而不是对类 的。整体—部分关系是一种“has a ”的关系,如“汽车” 有“发动机”。同样,整体—部分结构也具有层次结构
面向对象技术概述
胡伟 (whu@nju.edu.cn)
什么是面向对象方法
一种软件开发方法。 面向对象方法的出发点和基本准则,是尽可能模
拟人类习惯的思维方式,使开发软件的方法与过 程尽可能接近人类认识世界解决问题的方法与过 程,也就是是描述问题的问题空间与实现解法的 解空间在结构上尽可能一致
2
什么是面向对象方法
3
面向对象方法优点
从认知学的角度来看,面向对象方法符合人们对 客观世界的认识规律。
面向对象方法开发的软件系统易于维护,其体系 结构易于理解、扩充和修改。
面向对象方法中的继承机制有力支持软件的复用
4
面向对象的基本概念
对象/实例(object/ instance) 类(class) 封装(encapsulation) 继承(inheritance) 多态(polymorphism) 动态联编(dynamic binding) 消息(message)
2. 用基本的需求为指南,来确定类和对象(包括属 性和操作)
3. 定义类的结构和层次(继承关系) 4. 建造对象—关系模型 5. 建造对象—行为模型 6. 利用用况/场景来复审分析模型
18
分析过程
获取客户对系统的需求
需求获取必须让客户与开发者充分地交流,这里介绍一 种采用用况来收集客户需求的技术。分析员首先标识使 用该系统的不同的执行者(actor),这些执行者代表使 用该系统的不同的角色。每个执行者可以叙述他如何使 用系统,或者说他需要系统提供什么功能。执行者提出 的每一个使用场景(或功能)都是系统的一个用况的实 例,一个用况描述了系统的一种用法(或一个功能), 所有执行者提出的所有用况构成系统的完整的需求
6
面向对象的基本概念
7
面向对象的基本概念
类(class)
类是一组具有相同属性和相同操作的对象的集合。一个 类中的每个对象都是这个类的一个实例(instance)
类是创建对象的模板,从同一个类实例化的每个对象都 具有相同的结构和行为
8
面向对象的基本概念
9
面向对象的基本概念
封装(encapsulation)
19
注意,执行者与用户是不同的两个概念,一个用 户可以扮演几个角色(执行者),一个执行者可 以是用户,也可以是其他系统(应用程序或设 备)。得到的用况必须进行复审,以使需求完整
20
分析过程
标识类和对象
类和对象来自问题领域 可以先标识候选类,然后进行筛选
21
定义类的结构和层次
类的结构主要有两种: 一般— 特殊(generalization— specialization)结构和整体—部分(whole—part)结构
12
面向对象的基本概念
13
面向对象的基本概念
多态性(polymorphism)
多态性是指同一个操作作用于不同的对象上可以有不同 的解释,并产生不同的执行结果。例如“画”操作,作 用在“矩形”对象上,则在屏幕上画一个矩形,作用在 “圆”对象上,则在屏幕上画一个圆。也就是说,相同 操作的消息发送给不同的对象时,每个对象将根据自己 所属类中定义的这个操作去执行,从而产生不同的结果
Peter Coad和Edward Yourdon提出用下列等式识认面向对象 方法:
面向对象= 对象(object)+ 类(class)+ 继承(inheritance) + 通过消息的通信(communication with messages)
可以说,采用这四个概念开发的软件系统是面向对象的
14
面向对象的基本概念
动态绑定(dynamic binding)
动态绑定是指在程序运行时才将消息所请求的操作与实 现该操作的方法连接起来
传统的程序设计语言的过程调用与目标代码的连接(即 调用哪个过程)放在程序运行前(即编译链接时)进行 (称为静态绑定),而动态绑定则是把这种连接推迟到 运行时才进行
5
面向对象的基本概念
对象(object)
对象是指一组属性以及这组属性上的专用操作的封装体 属性(attribute)(对象的静态特征)通常是一些数据,
有时它也可以是另一个对象。每个对象都有它自己的属 性值,表示该对象的状态。对象中的属性只能通过该对 象所提供的操作来存取或修改。 操作(operation)(对象的动态特征,也称方法或服务) 规定了对象的行为,表示对象所能提供的服务
动态绑定是一种在运行时确定被执行代码的技术
15
面向对象的Hale Waihona Puke Baidu本概念
在一般与特殊关系中,子类是父类的一个特例, 所以父类对象可以出现的地方,也允许其子类对 象出现。因此在运行过程中,当一个对象发送消 息请求服务时,要根据接收对象的具体情况将请 求的操作与实现的方法进行连接,即动态绑定
16
17
面向对象分析
是一种信息隐蔽技术,用户只能看见对象封装界面上的 信息,对象的内部实现对用户是隐蔽的。封装的目的是 使对象的使用者和生产者分离,使对象的定义和实现分 开
一个对象通常可由对象名、属性和操作三部分组 成
10
面向对象的基本概念
消息(message)
消息传递是对象间通信的手段,一个对象通过向另一个 对象发送消息来请求其服务。一个消息通常包括接收对 象名、调用的操作名和适当的参数(如果有必要的话)。 消息只告诉接收对象需要完成什么操作,但并不指示接 收者怎样完成操作。消息完全由接收者解释,接收者独 立决定采用什么方法完成所需的操作
11
面向对象的基本概念
继承(inheritance)
继承是类间的基本关系,它是基于层次关系的不同类共 享数据和操作的一种机制。父类中定义了其所有子类的 公共属性和操作,在子类中除了定义自己特有的属性和 操作外,可以继承其父类(或祖先类)的属性和操作, 还可以对父类(或祖先类)中的操作重新定义其实现方 法
一般—特殊结构是一种分类结构,反映了类间的一般与 特殊的关系。一般类与特殊类之间是一种“is a”的关系, 如:汽车是一种交通工具。同样,特殊类还可以分为更 特殊的类,这样可形成类的层次结构
整体—部分结构反映了类间的整体与部分关系。值得注 意的是,整体—部分关系是对对象而言的,而不是对类 的。整体—部分关系是一种“has a ”的关系,如“汽车” 有“发动机”。同样,整体—部分结构也具有层次结构
面向对象技术概述
胡伟 (whu@nju.edu.cn)
什么是面向对象方法
一种软件开发方法。 面向对象方法的出发点和基本准则,是尽可能模
拟人类习惯的思维方式,使开发软件的方法与过 程尽可能接近人类认识世界解决问题的方法与过 程,也就是是描述问题的问题空间与实现解法的 解空间在结构上尽可能一致
2
什么是面向对象方法
3
面向对象方法优点
从认知学的角度来看,面向对象方法符合人们对 客观世界的认识规律。
面向对象方法开发的软件系统易于维护,其体系 结构易于理解、扩充和修改。
面向对象方法中的继承机制有力支持软件的复用
4
面向对象的基本概念
对象/实例(object/ instance) 类(class) 封装(encapsulation) 继承(inheritance) 多态(polymorphism) 动态联编(dynamic binding) 消息(message)