java中类和类之间的关系
继承关系
继承关系是一个类(子类)继承另外一个类(父类)的关系,继承后的子类可以增加自己的方法也可以覆盖(重写,此处要和方法重载区别,方法重载是同一个类中方法名相同参数列表不同包括参数的个数/类型/顺序)父类的方法.java中限定只允许单继承使用关键字extends表示,在uml类图设计中使用空心三角箭头的实线表示,从继承类到被继承类.
实现关系
实现关系是一个类与接口之间的关系,java中支持多继承使用implements关键字表示实现.uml类图设计中使用空心三角箭头虚线表示从子类到父接口,子类必须实现接口中的方法.
依赖关系
依赖关系是一个类和另一个类之间的关系,这种关系具有偶然性,临时性.代码层面的表示为一个在另外一个类中作为形参的形式出现.在uml类图设计中使用三角箭头虚线表示从依赖类到被依赖类.
关联关系
关联关系也是一个类和另一个类之间的关系,这种关系比依赖关系强.代码层面的表示为一个类在另一个类中作为属性的形式出现.在uml类图中使用三角箭头实线表示从关联类到被关联类.
聚合关系
聚合关系是关联关系的一种特殊情况,聚合关系主要体现的是从整体到部分的关系而整合和部分又是可以分离.例如班级和学生,公司和员工等各自有自己独立的生命周期.在uml类图中使用一端是空心菱形一端是三角形(我用的starUml这个版本没有三角)的实线从整体到部分.
组合关系
组合关系也是关系关系的一种特殊情况,组合关系也是体现整体到部分的关系但是这个整体和部分是不能分离的.例如人和头这种分开就没法活(不要说分开后叫死人死人也是人的一种,那你就赢了).在uml类图中组合使用一端时实心菱形一端是三角形(我用的starUml这个版本没有三角)的实线从整体到部分.