** 写了这么长时间的代码,今天的突然想画UML图的时候突然间闷了,竟然不知道类与类之间的关系,果断上网找资料学习一下:**
首先在java编程中类与类之间
1.依赖
2.关联(聚合(整体和部分的关系,例如人与手)和组合(整体与部分的关系,例如人与大脑))
3.继承
4.实现
第一种:依赖(Dependence)的定义:表示一个类依赖于另一个类的定义,一个类的方法操纵另一个类的对象,应用于局域变量、方法的形参,或者对静态方法的调用。
/**
* @Description: 依赖(Dependence)的定义:表示一个类依赖于另一个类的定义,一个类的方法操纵另一个类的对象
* 应用于局域变量、方法的形参,或者对静态方法的调用。
* @Author: 13394
* @CreateDate: 2018/12/18 9:54
*/
public class Cook {
public static void cook() {
System.out.println("做饭");
}
public void eat() {
System.out.println("吃饭");
}
}
/**
* @Description: TODO
* @Author: 13394
* @CreateDate: 2018/12/18 10:09
*/
public class BeforeCook {
//局部变量
public void before() {
Cook cook = new Cook();
System.out.println("饭前>>>>>>>>>>>>>>>");
cook.eat();
}
//方法的形参
public void before(Cook cook) {
cook.eat();
}
//静态方法的调用
public void before1() {
Cook.cook();
}
}
第二种:关联(Association),是类与类之间的关系,关联关系一般是采用成员变量来实现的,指的是一个类把另一个类作为成员变量来实现对另一个类的属性和方法的调用。
(1)聚合(Aggregation)(整体和部分的关系),聚合成员变量主要是通过set方法来赋值de
public class Cook {
public static void cook() {
System.out.println("做饭");
}
public void eat() {
System.out.println("吃饭");
}
}
public class BeforeCook {
//成员变量
private Cook cook;
public void setBefore(Cook cook){
cook.eat();
}
}
(2)组合(Composition) (整体和部分的关系),成员变量主要是通过构造方法来赋值的。
public class BeforeCook {
//成员变量
Cook cook;
public BeforeCook(Cook cook){
this.cook=cook;
}
}
继承(Inheritance),类与类,接口与接口之间的关系。
实现(Implementation),类与接口之间的关系 。