- 继承
其中斜体表示抽象,抽象类必须被继承,抽象方法必须被重写。抽象方法只需声明,无需实现;抽象类不能被实例化,抽象类不一定要包含抽象方法。若类中包含了抽象方法,则该类必须被定义为抽象类。
- 声明一个抽象方法使用abstract关键字。
- 一个类中可以包含一个或多个抽象方法。
- 抽象类中可以存在非抽象的方法。
- 抽象类不能被直接被实例化。
- 实现抽象类用":"(冒号),实现抽象方法用override关键字。
- 抽象类可以被抽象类所继承,结果仍是抽象类。
- 抽象方法被实现后,不能更改修饰符。
- 关联
- 双向关联
- 单向关联
在线的任一端,你放置一个角色名和多重值。
- 关联类
这意味当Flight类的一个实例关联到 FrequentFlyer 类的一个实例时,将会产生 MileageCredit 类的一个实例。
- 反射关联
类也可以使用反射关联与它本身相关联。起先,这可能没有意义,但是记住,类是抽象的。下图 显示一个Employee类如何通过manager / manages角色与它本身相关。当一个类关联到它本身时,这并不意味着类的实例与它本身相关,而是类的一个实例与类的另一个实例相关。
- 实现接口
- 聚合
在一个聚合关系中,子类实例可以比父类存在更长的时间.
- 组合
在一个组合关系中,但父类实例被移除/销毁时,子类实例也将自动地移除/销毁.
- 软件包
或使用下图
- URL2补充
- 实例
因为显示实例的目的是显示值得注意的或相关的信息,没必要在你的模型中包含整个实体属性及操作。相反地,仅仅显示感兴趣的属性及其值是完全恰当的。
- 角色
一个类图显示图14中扮演不同角色的类
在这情况你不能加下划线
- 内部结构
先给出一个类图,
画出其内部结构,如下图所示
参考资料:http://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/