程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java策略模式的簡單應用實現方法

Java策略模式的簡單應用實現方法

編輯:JAVA編程入門知識

在使用圖像處理軟件處理圖片後,需要選擇一種格式進行保存。然而各種格式在底層實現的算法並不相同,這剛好適合策略模式。編寫程序,演示如何使用策略模式與簡單工廠模式組合進行開發。

思路如下:

1.使用interface來定義一個接口,在該接口中定義save()方法;
2.根據圖片格式定義不同的類,分別在這些類中使用關鍵字implements實現接口;
3.創建一個實現選擇的類,在該類中定義實現選擇的方法,該方法返回值為對應的圖片保存類;
4.在主方法中實現接口。
代碼如下:

代碼如下:

public interface ImageSaver {
    void save();//定義save()方法
}

public class GIFSaver implements ImageSaver {
    @Override
    public void save() {//實現save()方法
        System.out.println("將圖片保存成GIF格式");
    }
}

public class JPEGSaver implements ImageSaver {

    @Override
    public void save() {
        System.out.println("將圖片保存成JPG格式");
    }
}

public class PNGSaver implements ImageSaver {

    @Override
    public void save() {
        System.out.println("將圖片保存成PNG格式");
    }

}

public class TypeChooser {
    public static ImageSaver getSaver(String type) {
        if (type.equalsIgnoreCase("GIF")) {//使用if else語句來判斷圖片的類型
            return new GIFSaver();
        } else if (type.equalsIgnoreCase("JPEG")) {
            return new JPEGSaver();
        } else if (type.equalsIgnoreCase("PNG")) {
            return new PNGSaver();
        } else {
            return null;
        }
    }
}

public class User {
    public static void main(String[] args) {
        System.out.print("用戶選擇了GIF格式:");
        ImageSaver saver = TypeChooser.getSaver("GIF");//獲得保存圖片為GIF類型的對象
        saver.save();
        System.out.print("用戶選擇了JPEG格式:");//獲得保存圖片為JPEG類型的對象
        saver = TypeChooser.getSaver("JPEG");
        saver.save();
        System.out.print("用戶選擇了PNG格式:");//獲得保存圖片為PNG類型的對象
        saver = TypeChooser.getSaver("PNG");
        saver.save();
    }
}

效果如圖:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved