国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 15:40:09
字體:
來源:轉載
供稿:網友

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

思路如下:

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();
    }
}

效果如圖:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉山县| 武乡县| 墨江| 临澧县| 阿荣旗| 偏关县| 镇雄县| 老河口市| 石泉县| 奉化市| 吉安县| 建始县| 琼中| 佛学| 彩票| 山东省| 吉林省| 怀柔区| 湄潭县| 屏东县| 盐津县| 崇左市| 若尔盖县| 新乡市| 隆德县| 丰城市| 津市市| 邯郸县| 玉田县| 博野县| 定兴县| 云林县| 岳普湖县| 含山县| 平遥县| 荥经县| 司法| 松桃| 鹤岗市| 来宾市| 葫芦岛市|