面向对象中类与类之间的关系
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 ;
}在面向对象中,描述对象与对象之间的关系是存在单向和双向之分的。
在描述关系时,建立单向还是双向关系,是通过业务来决定的