UML类图学习笔记(一)

来源:互联网 发布:像素数据技术 编辑:程序博客网 时间:2024/05/01 07:41
  • 原文地址:http://www.uml.org.cn/oobject/201211231.asp 
  • 在UML中,类使用包含类名、属性和操作且带有分割线的长方形表示。
  • 类名属性Attributes操作Operations
  • “可见性”表示该属性对于类外的元素而言是否可见,包括公有(public)、私有(private)和受保护(protected)三种,在类图中分别用符号+、-和#表示。
  • 操作是类的任意一个实例对象都可以使用的行为,是类的成员方法

    • 类与类之间的关系

  • 关联关系Association是一种结构化关系,表示一类对象与另一类对象之间有联系,如汽车和轮胎,师傅和徒弟,班级与学生等。编程语言实现关联关系时通常将一个类的对象作为另一个类的成员变量。实线连接,可在关联线上标注角色名,一般使用表示两者关系的动词或者名词表示。
  • 关联关系包括:双向关联,单向关联,自关联,多重性关联,聚合关系,组合关系。
  • 聚合关系(Aggregation)表示整体与部分的关系。成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。空心菱形直线表示,eg.汽车发动机是汽车的组成部分,是聚合关系
  • 组合关系Composition也表示整体与部分的关系,但整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在。用实心带菱形的直线表示,如人的头和嘴巴。代码实现组合关系时,通常在整体类的构造方法中直接实例化成员类。
  • 依赖关系Dependency是一种使用关系,在需要表示一个事物使用另一个事物时使用依赖关系。多数情况下,依赖关系体现在某个类的方法是用另一个类的对象作为参数。用带箭头的虚线表示。如驾驶员开车,在Driver类的drive()方法中奖Car类型的对象car作为参数传递,以便在drive()方法中调用car的move(0方法。
  • 泛化关系(Generalization),即继承关系,用于描述父类和子类之间的关系,父类又称基类或超类,子类又称派生类。用带空心三角形的直线表示。在代码实现时使用面向对象的继承机制来实现泛化关系。
  • 接口与实现关系。在接口中,通常没有属性,所有操作都是抽象的,只有操作的声明,没有操作的实现。接口之间可以有 与类之间关系类似的 继承关系和依赖关系。接口和类之间还有一种实现(Realization)关系,在这种关系中,类实现了接口,用带空心三角形的虚线表示。
0 0