標籤:isp pen rgs ret win tst exce open bsp
Java的常見模式
適配器模式
1 package com.huawei; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 7 import java.util.Observable; 8 import java.util.Observer; 9 10 interface Window11 {12 public void open();13 public void close();14 public void active();15 }16 17 abstract class WindowAdapter implements Window18 {19 public void open(){}20 public void close(){}21 public void active(){}22 }23 24 class WindowImpl extends WindowAdapter25 {26 public void open()27 {28 System.out.println("Open.......");29 }30 public void close()31 {32 System.out.println("Close.......");33 }34 public void active()35 {36 System.out.println("Active.......");37 }38 }39 40 41 public class ForNumber42 {43 public static void main(String args[])44 {45 Window win = new WindowImpl();46 win.open();47 win.close();48 }49 }View Code
原廠模式
1 package com.huawei; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 7 import java.util.Observable; 8 import java.util.Observer; 9 10 interface Fruit11 {12 public void eat();13 }14 15 class Apple implements Fruit16 {17 18 public void eat()19 {20 System.out.println("Eat Apple");21 }22 23 }24 25 26 class Orange implements Fruit27 {28 public void eat()29 {30 System.out.println("Eat Orange");31 }32 }33 //定義工廠34 class Factory35 {36 public static Fruit getInstance(String className)37 { 38 Fruit f = null;39 if ("apple".equals(className))40 {41 f = new Apple(); 42 }43 44 if ("orange".equals(className))45 {46 f = new Orange(); 47 }48 49 return f;50 }51 }52 53 public class ForNumber54 {55 public static void main(String args[])56 {57 Fruit f = null; //定義介面對象58 f = new Factory().getInstance("apple");59 f.eat();60 }61 }View Code
Java學習---常見的模式