码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础教程 - 组合

时间:2014-06-24 10:12:34      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:class   code   java   使用   数据   string   

1. 什么是组合?

如果一个类的对象和另一个类满足"has-a"关系的话,我们就可以在一个类中,把另一个类的对象作为其对象成员。
什么是"has-a"关系,举个例子:现在有一个类LapTop.class,还有一个是Moniter.class。好显然,Laptop "has-a" Moniter,也就是说,他们是满足"has-a"关系的。这时候,我们就可以把Moniter作为Laptop的一个数据成员。

class Laptop {
  //把Moniter的一个对象作为Laptop的一个数据成员
     private Moniter aMoniter = new Moniter(); 
}
class Moniter {
  public void display(String s) {
    System.out.println(s);
   }
}

2. 组合有什么用?

由上面,我们可以很容易地知道,使用了组合之后,我们可以增加代码的复用性。怎么说呢,嗯。假设我们再增加一个新类,例如 Tevesion.class, MobilePhone.class,只要他们满足"has-s"关系的话,我们就可以在新类中把Moniter的对象作为其数据成员。是不是很棒啊 :)

3. 如何组合?

我们最关心的当然是如何组合啦。其实上面也说到了。下面就给个完整可exe的例子。

//Test.java

public class Test {
    public static void main(String[] args) {
        Laptop aLaptop = new Laptop();
        aLaptop.greet("Good morning ~~~");
    }
}

class LapTop {
  private Moniter aMoniter = new Moniter();
  //give user a greeting  
  public void greet(String s) {
    aMoniter.display(s);
  }
}

class Moniter {
  public void display(String s) {
    System.out.println(s);
  }
}

Java基础教程 - 组合,布布扣,bubuko.com

Java基础教程 - 组合

标签:class   code   java   使用   数据   string   

原文地址:http://www.cnblogs.com/drakelueng/p/3799126.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!