- 组合是代码复用的一种方式。
- 用法是在类里面声名创建其他类,从而使用后者的属性和方法。即将a对象作为b对象的属性来用。
- 跟继承一样都能实现代码复用,主要是关联关系的内涵的不一样:
- 组合类似于被组合类是零件,组合类是整体(如轮胎和汽车)
- 继承类似于父类是共性,子类是个性的关系。如动物和狗的关系,子类天然具有父类的特性。
组合用法示例:
class Desk{
int deskArea;
public void eat(){
System.out.println("we eat on the desk");
}
}
class Home{
String addr;
Desk desk = new Desk();
Home(int deskArea,String addr){
this.desk.deskArea = deskArea; // 使用组合对象desk的属性
this.addr = addr;
}
}
public class Main {
public static void main(String[]args){
Home home = new Home(2,"zhaoyang road 10");
home.desk.eat(); // 使用组合对象desk的方法
}
}



