面向對象中類與類之間的關係
1.繼承 :
單重繼承 , 多層繼承
多層繼承也就是子繼承父,下個類繼承子,一對多的關係
2.依賴 :
public class Test02 {
//test01和Test02依賴關係
/*
* 一般就是一個方法引用另外一個類的對象
* 體現在局部變量中使用
*/
public void testDepend(Test01 test01) {//Test02類依賴Test01類
List list =new ArrayList<>();//Test02類依賴List,ArrayList
}
}
3.聚合/組合
主要體現整體與部分之間的關係。
描述方式與關聯關係一樣,都是用成員變量來描述的。
/*
* 例如:一個User對象包含以下屬性,姓名,id,家庭地址
* 但地址可以是多個,提取出一個地址類,並引用
*/
public class User {
private Integer id;
private String name;
private Address address;
}
public class Address {
private Integer id;
private String cityName;
}
4.關聯關係
都是通過成員變量來描述的,要麼是對象引用,要麼是集合引用
雙向一對一
/*
* 一個用戶對應一個地址
*/
public class User {
private Address address;
}
/*
* 一個地址對應一個用戶
*/
public class Address {
private User user;
}
單向一對多
//一個部門對應多個員工
public class Department {
private List<Employee> employees;
}
public class Employee {
}
單向多對一
多個員工對應一個部門
雙向多對多
多名學生對應多個課程
Public classs Student{
Private List<Course> courseList ;
}
多個課程對應多個學生
Public class Course{
Pirivate List<Student> studentList ;
}在面向對象中,描述對象與對象之間的關係是存在單向和雙向之分的。
在描述關係時,建立單向還是雙向關係,是通過業務來決定的