类与类的关系有以下几种:
A is-a B 继承、实现(implementation)===>统称泛化
A has-a B 组合、聚合、关联===>统称包含
A use-a B 依赖(need)
=========================================================================
管理各种有关联的类--->包package--->相当于是一个文件夹;
类的第一行会出现package关键字;
那如果package和import同时出现,先写package再写import;
package只有一个但是import可以有很多个;
1.has-a:包含关系(组合、聚合、关联)--->相当于“有”;
三者“亲密关系”一次削弱;
组合:整体和部分的关系,整体和部分生命周期相同,不可分割;
聚合:整体和部分的关系,可以分割,创建时有可能是分开的;
关联:整体和部分的关系,可以分割,后来形成在一起的;
这样的关系在Java里面描述的形式:通过将一个类的对象当作另一个类的属性,聚合时,如果是直接定义这个对象的话,在这个对象做事的时候需要new一下,(除了static方法和属性);
*2.use-a(need-a):依赖关系;
不是整体和部分的关系,是由于某一件事情产生了关系,临时组合在一起,这件事一旦昨晚即分开;
这样的关系在Java里面描述的形式:一个类的方法中使用到了另一个类的对象;
第一种方法:在方法中传递参数;
第二种方法:在方法中自己创建一个;
设计类的关系遵循的原则:高内聚(类内部)低耦合(类之间,影响小,关联度小);
耦合度:紧密--->疏远:继承(实现)、包含、依赖;



