JAVA基础
类与类之间关系
在我们实际开发的过程中基本情况下肯定涉及到多个类之间的协作,因此,类和类之间就必然存在各种各样的关系,面向对象程序设计中,我们将类之间的关系分为两大类型:1.横向关系 2.依赖关系
横向关系
依赖关系
依赖关系是一种比较紧密的关系,一般表现形式为一个方法的的执行,需要通过另一个对象的支持。
public class Job {
}
public class Worker {
public void work(Job j){
}
}
关联关系
关联关系是一种比依赖更为密切的关系,在代码层面的表现形式为,一个类的对象作为属性定义到另一个类中。
public clsass Student{
int id;
String name;
Teacher teach;
}
//老师类
public class Teacher{
Student []students;
}
聚合关系
聚合关系是一种比关联关系更为紧密的关系,表现是的两个类之间的一种包含,但是这个包含又不是必须或者不可分割的,从代码层面表现来看,跟关联是一致的,两者之间只是存在语义上的区别
//部门
public class Dept {
int dno;
String name;
}
//员工
public class Emp {
int eno;
String name;
double sal;
Dept dept;
}
####组合关系
组合关系是以上横向关系中最强的关系,表现的是部分跟整体的关系,两者之间通常表现为不可分割的一种关系,但是代码层面的表现跟关联,聚合是一致的,只是一种语义的区别。
public class People {
Head head;
Body body;
Foot foot;
}
public class Head{
}
public class Body{
}
public class Foot{
}
纵向关系
继承
继承(Extends)是面向对象语言的三大特征之一,体现出的是一种类的上下级关系,因此是一种纵向关系;
实现
继承
java中通过继承,可以提高类的可扩展性,以及代码的可复用性;继承是一种 is a 的关系
语法
[修饰符] class 子类名 父类名称{
//属性、方法的声明
}
父类
public class Father{
private String firstName;
private int house;
private int car;
private double money;
public String getFirstName() {
return firstName;
}