预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共52页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第9章面向对象与UML建模面向对象的方法学可以用下列式子来概括:面向对象=对象+类+继承+消息通信。 面向对象方法学的主要优点是: (1)从应用设计到解决问题的方案更加抽象化而且具有极强的对应性。 (2)在设计中容易与用户沟通。 (3)把数据和操作封装到对象之中。 (4)设计中产生各式各样的部件,然后由部件组成框架,以至于整个程序。 (5)应用程序具有较好的重用性、易改进、易维护和易扩充。对象是具有相同状态的一组操作的集合,是封装了数据结构及可以施加在这些数据结构上的操作的封装体,这个封装体有可以惟一地标识它的名字,而且向外界提供一组服务(即公有的操作)。 对象中的数据表示对象的状态,一个对象的状态只能由该对象的操作来改变,只能由其他对象向该对象发送消息。对象响应消息时,按照消息模式找出与之匹配的方法,并执行该方法。在面向对象的软件技术中,”类”就是对具有相同数据和相同操作的一组相似对象的定义,也就是说,类是对具有相同属性和行为的一个或多个对象的描述。 例如:植物,飞行器,人等都是类。 “人”这个类具有:身高、姓名、性别、年龄、家庭住址等属性(静态特征); 另外,“人”这个类还具有:跑步,开车,吃饭,思考等行为(动态特征)。实例就是由某个特定的类所描述的一个具体的对象。 当使用”对象”这个术语时,既可以指一个具体的对象,也可以泛指一般的对象,但是,当使用”实例”这个术语时,必然是指一个具体的对象。消息就是要求某个对象执行在定义它的那个类中的某个操作的规格说明。 通常,一个消息由下述3部分组成:接收消息的对象;消息选择符(也称为消息名);零个或多个变元。方法就是对象所能执行的操作,也就是类中所定义的服务。方法描述了对象执行操作的算法、响应消息的方法。在C++语言中把方法称为成员函数。 我们前面介绍过,类由属性(静态数据)和行为(操作)组成,实际上,这里的“行为”就是面向对象中讲到的“方法”。 例如:(1)飞行器这个类的方法有:飞行,落地等一些操作。(2)“人”这个类的方法:跑步,开车,吃饭,思考等。9.2.6属性9.2.7继承9.2.8多态性9.2.9重载UML有两套建模机制:静态建模机制和动态建模机制。 在UML中,静态建模可以描述系统的组织和结构,而动态建模则可描述系统的行为和动作。 静态建模机制包括用例图、类图、对象图、包、组件图和配置图。 动态建模机制包括消息、状态图、时序图、协作图和活动图。需求(系统)建模方法(1)UML基本构造元素:事务、关系和图。 (2)UML的事务有四种:结构事务、行为事务、分组事务和注释事务。 (3)UML的关系有四种:依赖、关联、泛化、实现。 (4)UML的图有十种:用例图、类图、对象图、包图、状态图、活动图、序列图、协作图、组件图、部署图(有的书叫实施图)。1.关联关系 关联关系是”...hasa...”(具有)的关系。在UML图中,关联关系用一条实线表示。 有一些修饰可以应用于关联。 (1).名字:可以给关系取名字。见图8-1。(2)角色:关系的两端代表不同的两种角色。见图8-2。2.聚合关系 聚合关系指的是整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。 例如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。需求描述中”包含”、”组成”、”分为…部分”等词常意味着聚合关系。见图8-5。聚合是”...ownsa...”(拥有)的关系。 它的UML表示法:空心菱形+实线+箭头,见图8-63.组合关系 组合关系也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。部分对象与整体对象之间具有共生死的关系。 组合关系是”...isapartof...”(是…的一部分)的关系。 它的UML表示法:实心菱形+实线+箭头,见图8-7。聚合和组合的区别在于: (1)聚合关系是”has-a”关系,组合关系是”contains-a”关系; (2)聚合关系表示整体与部分的关系比较弱,而组合比较强; (3)聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。 我们用浅显的例子来说明聚合和组合的区别。”国破家亡”,国灭了,家自然也没有了,”国”和”家”显然也是组合关系。 (4)在聚合关系中,部分可以独立于聚合而存在,部分的所有权也可以由几个聚合来共享,比如打印机就可以在办公室内被广大同事共用。 (5)组合比聚合对于组合者和被组合者的关心定义的更加有约束,组合者不但要知道被组合者的情况,他们的生命周期都是由组合者来控制的。4.依赖关系 对于两个