- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UML统一建模语言基础.ppt
本章小结 类图使用出现在系统中的不同类来描述系统的静态结构,类图用来描述不同的类和它们的关系。 在UML中,类之间的关系包括关联关系、依赖关系、泛化关系和实现关系,其中关联关系又包括双向关联、单向关联、自关联、重数性关联、聚合关系和组合关系。 顺序图是一种强调对象间消息传递次序的交互图,又称为时序图或序列图。顺序图以图形化的方式描述了在一个用例或操作的执行过程中对象如何通过消息相互交互,说明了消息如何在对象之间被发送和接收以及发送的顺序。顺序图允许直观地表示出对象的生存期,在生存期内,对象可以对输入消息做出响应,还可以发送信息。 本章小结 顺序图由执行者、生命线、对象、激活框、消息和交互片段等元素组成。 状态图用来描述一个特定对象的所有可能状态及其引起状态转移的事件。我们通常用状态图来描述单个对象的行为,它确定了由事件序列引出的状态序列,一个状态图包括一系列的状态及状态之间的转移。 状态图由状态、初始状态、结束状态和转移等元素组成。在一个状态图中,一个状态也可以被细分为多个子状态,包含多个子状态的状态称为复合状态。 END * 类图 类之间的关系 聚合关系 public class Car { private Engine engine; public Car(Engine engine) { this.engine = engine; } public void setEngine(Engine engine) { this.engine = engine; } …… } public class Engine { …… } 类图 类之间的关系 组合关系 组合关系(Composition)也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在,部分对象与整体对象之间具有同生共死的关系。 在组合关系中,成员类是整体类的一部分,而且整体类可以控制成员类的生命周期,即成员类的存在依赖于整体类。在UML中,组合关系用带实心菱形的直线表示。 类图 类之间的关系 组合关系 public class Head { private Mouth mouth; public Head() { mouth = new Mouth();//在整体类中实例化部分类 } …… } public class Mouth { …… } 类图 类之间的关系 依赖关系 依赖关系(Dependency)是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。 在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。 类图 类之间的关系 依赖关系 public class Driver { public void drive(Car car) { car.move(); } …… } public class Car { public void move() { ...... } …… } 类图 类之间的关系 泛化关系 泛化关系(Generalization)也就是继承关系,也称为“is-a-kind-of”关系,泛化关系用于描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类。在UML中,泛化关系用带空心三角形的直线来表示。 在代码实现时,使用面向对象的继承机制来实现泛化关系,如在Java语言中使用extends关键字、在C++/C#中使用冒号“:”来实现。 类图 类之间的关系 泛化关系 public class Person { protected String name; protected int age; public void move() { …… } public void say() { …… } } public class Student extends Person { private String studentNo; public void study() { …… } } 类图 类之间的关系 接口与实现关系 接口之间也可以有与类之间关系类似的继承关系和依赖关系,但是接口和类之间还存在一种实现关系(Realizatio
文档评论(0)