需要记住:
- method方法中带-为private,+为public,#为protected
类与类之间的关系:
-
一般关联关系:主要是对象之间的引用,从自己来说就是类里的成员变量。如class A中有一个B的成员变量,那就是单项关联,用实心三角黑箭头。双向关联不用箭头。即持有对方类型的成员变量,A持有B成员变量,那就是A用实心三角黑箭头指向B。
-
聚合关系:也是关于成员变量,强关联。从自己的理解来说就是成员变量是该类的一部分,部分与整体的关系,而且脱离整体对象也可以存在。比如班级类中的学生。用空心菱形表示,班级持有List ,Teacher空心菱形指向班级。
-
组合关系:表示类之间的整体与部分的关系,强烈的聚合关系。即部分对象不能脱离整体。头和嘴,嘴不能脱离头。在我看来就是必须两者组合才是一个整体。用实心菱形表示,嘴指向头。
-
依赖关系。是一种使用关系。耦合度较小。从我的角度来看就是用到了用到了某个类,即使用类指向被依赖类。感觉这个和之前的不一样的地方在于这里需要方法参数的形参对用到那个类的某个方法。是一种使用的关系,即一个类的实现需要另一个类的协助。java中,方法参数需要传入另一个类的对象,就表示依赖这个类。用虚线的箭头表示。
-
继承关系:耦合度较大。也叫泛化关系。子类用空心三角指向父类。
-
实现关系。接口和实现类。空心三角箭头的虚线。
总结:以前一直看不懂类的各种箭头,现在专门总结下:父类和接口都是三角,继承关系是实线,实现关系式虚线。都是实现类指向抽象类。而其他的关系都是针对成员变量,需要方法参数需要其他类的就是依赖关系用虚线普通箭头。