UML for ObjC

ObjC 中的 Category 是对类的扩展,它不能添加属性到类中,但可以为现有的类添加方法。在UML中以«category»并在盒子底部加上加阴影来表示。通常Category的名称体现了被扩展类的类名,如一个对NSArray做扩展的MyExtensions category通常叫做NSArray_MyExtensions.

ObjC 中的 Protocol 定义了一组可以被任意类实现的方法。Protocol 仅定义方法不定义成员变量。Protocol可以用 UML中的interface对象来表示,标记«protocol»。Protocol 的名字通常有”Protocol_”前缀。

关系

  • generalization表示机继承关系
  • aggregation  表示一个category其父类的一部分
  • realization 表示类实现了哪个接口
  • dependency 表示类使用接口
图中A为C的父类(generalization),C类有一个扩展C_B(aggregation), C实现了Protocol_D(realization), E依赖于Protocol_D(depedency)
从外部引入的类可以在左下角标记“…”来省略类的成员变量和方法。
ref:

发表评论

电子邮件地址不会被公开。 必填项已用*标注