uml第2章 面向对象方法论

uml第2章 面向对象方法论

ID:20888867

大小:389.50 KB

页数:80页

时间:2018-10-17

uml第2章 面向对象方法论_第1页
uml第2章 面向对象方法论_第2页
uml第2章 面向对象方法论_第3页
uml第2章 面向对象方法论_第4页
uml第2章 面向对象方法论_第5页
资源描述:

《uml第2章 面向对象方法论》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章面向对象方法论2.1面向对象概念2.2链接与关联2.3聚合2.4概括2.5构造分组2.1面向对象概念本节定义并解释面向对象方法的主要概念,在介绍基本概念时力求与客观世界和人的自然思维方式联系起来。2.1.1对象对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。静态特征即可以用某种数据来描述的特征,动态特征即对象所表现的行为或对象所具有的功能。对象是系统中用来描述客观事物的一个实体,一个对象由一组属性和对这组属性进行操作的一组服务构成。属性和服务,是构成对象的两个主要因素,其定义是:属性是用来描述对象静态特征的一个数据项服务是用来描述对象动态特征(行为)的一个操作

2、序列。对象只描述客观事物本质的、与系统目标有关的特征,而不考虑那些非本质的、与系统目标无关的特征。对象是属性和服务的结合体,二者是不可分的;而且对象的属性值只能由这个对象的服务来读取或修改.对象的另一定义:对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。2.1.2类在OO方法中,类的定义是:类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。类与对象的关系如同一个模具与用这个模具铸造出来的铸件之间的关系。类给出了属于该

3、类的全部对象的抽象定义,而对象则是符合这种定义的一个实体。在OO方法中关于一般类与特殊类的定义是:如果类A具有类B的全部属性和全部服务,而且具有自己特有的某些属性或服务,则A叫做B的特殊类,B叫做A的一般类。以上定义也可用另一种方式给出:如果类A的全部对象都是类B的对象,而且类B中存在不属于类A的对象,则A是B的特殊类,B是A的一般类。2.1.3对象图对象图提供了对象、类和它们相互之间联系的建模规范化图形表示。对象图有两种类型:类图和实例图。(1)类图是描述许多可能的数据实例的一种模式或模板(2)实例图是描述对象之间相互关系的一种特殊的集合2.1.4属性属性是一个类中对象所具有的

4、数据值,不同的对象实例可以有相同或不同的属性。每个属性名在一个表中是惟一的,而在两个不同的类中可以有相同的属性名。不要把内部标识和真实应用属性混淆起来。内部标识符纯粹是为了实现方便,在问题域中是没有含义的。2.1.5操作和方法操作是一种功能或一种转换,它应用于类中的对象或被类中对象使用。在一个类中所有对象共享相同的操作。相同的操作可用于许多不同的类中,这样的操作是多态的。每种操作有一个内含参数的目标对象,该操作的行为依赖于它的目标类。一种操作可对它的目标对象添加参数,这种以参数化表示的操作并不影响方法的选择,方法仅依赖于该目标对象的类。2.1.6封装封装是面向对象方法的一个重要原

5、则。它有两个涵义:(1)把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(2)尽可能隐蔽对象的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系封装就是把对象的属性服务结合成为一个独立的系统单位,并尽可能隐蔽对象的内部细节。在面向对象的语言中,要求把属性和服务结合起来定义成一个程序单位,并通过编译系统保证对象的外部不能直接存取对象的属性或调用它的内部服务,这种机制就称为封装机制。2.1.7继承继承的定义是:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这种继承模

6、式叫作多继承。与多继承相关的一个问题是“命名冲突”问题,这是指:当一个特殊类继承了多个一般类时,如果这些一般类中的属性或服务有彼此同名的现象,则当特殊类中引用这样的属性名或者服务名时,系统无法判定它的语义到底是指哪个一般类中的属性和服务。解决命名冲突的办法有两种:(1)不允许多继承结构中的各个一般类的属性及服务取相同的名字(2)由OOPL提供一种更名机制,使程序可以在特殊类中更换从各个一般类继承来的属性或服务的名字2.1.8多重继承有不同鉴别器的多重继承多重继承可以对相同的类,通过不同的鉴别器产生,如图2-1的例子。图2-1无公共祖先的多重继承图2-2多重继承的工作环境(1)如子

7、类有好几个同样重要的超类,那么最好用“授权方法”并保持该模型的对称性。(2)如某一超类明显地处于支配地位,而其他的类处于相对次要地位时,用单一继承和授权方法来实现多重继承是最佳选择。(3)如组合数目少,则可考虑嵌套概括;如果组合数目多,则避免使用嵌套概括。(4)如一超类比其他的超类有更多的特征,或明显的是执行的瓶颈,则通过该路径来保持继承。(5)如选择嵌套概括,那么首先要考虑的是最重要的分解因素,然后考虑第二个重要的分解因素,如此等等。(6)如果需要复制大量代码,那就尽量避免用嵌

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

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

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