总的来说,类与类之间一共有三种关系类型:关联、依赖、继承。
1、关联(has-a)
在Java中,关联关系的代码表现形式为一个类做为另一个类的属性类型存在。
在此观点上,可以派生出单项关联和双向关联,以及一对一关联以及一对多关联。
下面是一串简单的示例代码。
public class Water{
}
public class Grass{
public Water water;
}
2、依赖(use-a)
依赖指的是:一个类使用到了另一个类。
具体表现为一个类作为另一个类的方法参数出现。
依赖关系存在一种特性:这种关系是具有偶然性的、临时性的、非常弱的,但是被使用的那个类的变化会影响到另一个类。
下面是一串简单的示例代码。class Tool{}
class Person{
public void cache(Tool tool){}
}
3、继承(is-a)
继承可能是一种更加细致的方法,它按照现有类的类型来创建新类,在新类中加入新代码,不用改变原有类。
也就是说,继承可以让子类拥有父类的方法和属性,并扩展了新的类。
无需修改旧类,也使得编写所出现的错误大大减少。
下面是一串简单的示例代码。
public class Parent{
}
public class Son extends Parent{
}