java工廠設計模式小練習
阿新 • • 發佈:2019-01-08
// 程式設計練習 // 1.猜數字遊戲: // 隨機生成[0,100),使用者的輸入數字告知是否猜中,如果不中,繼續猜直到猜中 // import java.util.Scanner; // class GuessNumber{ // private static final int number=24; // java.util.Random random=new java.util.Random(); // int values=random.nextInt(100);//隨機一個區間[0,100) // public void guessNumber(int inputNumber){ // while(true){ // if(inputNumber<number){ // System.out.println("猜小了"); // }else if(inputNumber>number){ // System.out.println("猜大了"); // }else{ // System.out.println("猜中了"); // break; // } // } // } // public class Lesson9{ // public static void main(String[] args){ // System.ouot.println("請輸入數字:"); // Scanner scanner=new Scanner(System.in); // int num=Scanner.nextInt(); // GuessNumber g1=new GuessNumber(); // g1.guessNumber(num); // } // } // 2.快遞員送花之代理模式(張三 讓快遞員 幫忙 送花給 女朋友 李四) // interface SendFlower{ // public void sendflower(); // } // class RealSender implements SendFlower{ // public void sendflower(){ // System.out.println("張三送花給李四"); // } // } // class ProxySender implements SendFlower{ // private RealSender target;//真正送花的那個人 // public ProxySender(RealSender target){ // this.target=target; // } // public void notice(){ // System.out.println("送花之前先打電話通知"); // } // public void signIn(){ // System.out.println("收到花以後簽收"); // } // public void sendflower(){ // this.notice();//操作前的準備 // this.target.sendflower(); // this.signIn(); // } // } // // class Factory{ // // public static SendFlower getInstance(){ // // return new ProxySender(new RealSender()); // // } // // } // public class Lesson9{ // public static void main(String[] args){ // RealSender target=new RealSender(); // ProxySender ps=new ProxySender(target); // ps.sendflower(); // } // } // // 3.模板設計模式:線上購物流程(天貓,京東) // // 瀏覽商品->選擇商品->客服服務->快遞服務->結算->付款->檢視訂單 // //將相同的行為在抽象方法中實現,將不同的行為表示為抽象方法讓繼承它的子類來實現 // import java.util.Scanner; // abstract class Shop{ // //將所有的方法分為兩類,並且將公有的方法放在一起 // final void preparePecipe(){ // //瀏覽商品 // browsegoods(); // //選擇商品 // selectgoods(); // //快遞服務 // expressService(); // //結算 // settleAccount(); // //付款- // payment(); // } // //天貓和京東對客服服務和檢查訂單不同,所以將他們定義為抽象類,讓子類實現 // //客服服務 // abstract void customerService(); // //檢查訂單 // abstract void checkOrder(); // //瀏覽商品 // public void browsegoods(){ // System.out.println("瀏覽商品"); // } // //選擇商品 // public void selectgoods(){ // System.out.println("選擇商品"); // } // //快遞服務 // public void expressService(){ // System.out.println("快遞服務"); // } // //結算 // public void settleAccount(){ // System.out.println("結算"); // } // //付款- // public void payment(){ // System.out.println("付款"); // } // } // //天貓購物 // class TianmaoShop extends Shop{ // //客服服務 // public void customerService(){ // System.out.println("天貓客服服務"); // } // //檢查訂單 // public void checkOrder(){ // System.out.println("天貓檢查訂單"); // } // } // //京東購物 // class JingdongShop extends Shop{ // //客服服務 // public void customerService(){ // System.out.println("京東客服服務"); // } // //檢查訂單 // public void checkOrder(){ // System.out.println("京東檢查訂單"); // } // } // public class Lesson9{ // public static void main(String[] args){ // System.out.println("請輸入是進入天貓購物還是進入京東購物:"); // Scanner scanner=new Scanner(System.in); // String answer=scanner.nextLine(); // switch(answer){ // case "天貓":{ // TianmaoShop tianmao=new TianmaoShop(); // tianmao.preparePecipe(); // tianmao.customerService(); // tianmao.checkOrder(); // break; // } // case "京東":{ // JingdongShop jingdong=new JingdongShop(); // jingdong.preparePecipe(); // jingdong.customerService(); // jingdong.checkOrder(); // break; // } // default:{ // System.out.println("沒有這個平臺"); // } // } // } // }