1. 程式人生 > >介面的定義及使用(工廠設計模式)

介面的定義及使用(工廠設計模式)

為了讓使用者能得到他們想要的東西,使用者只用輸入他們能夠輸入東西,而不用輸入程式碼來得到他們想要的東西。下面寫一個簡單的例子:interface Fruit{
 public void eart();
}
class Apple implements Fruit{
 public void eart(){
  System.out.println("吃蘋果");
 }
}
class Orange implements Fruit{
 public void eart(){
  System.out.println("吃橘子");
 }
}
class Factory{
 public static Fruit getInstence(String className){
  if("apple".equals(className)){
   return new Apple();
  }else if("orange".equals(className)){
   return new Orange();
  }else{
   return null;
  }
 }
}
public class Fpp { public static void main(String[] args) {
  Fruit f =Factory.getInstence("apple");//使用者輸入apple
  f.eart();
 }}
從上面的例子可以看出,使用者只用輸入“apple”就能呼叫Apple類中的方法,而不需要寫出“new Apple();”的語句。現在的客戶不會看見具體的子類,因為所有的介面物件都是通過 Factory類取得的,如果日後要擴充子類物件,則只需要修改Factory類即可,但是客戶的呼叫不會發生變化。