国产探花免费观看_亚洲丰满少妇自慰呻吟_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();
    }
}

效果如圖:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安新县| 抚州市| 乐山市| 油尖旺区| 焦作市| 威海市| 偏关县| 三门峡市| 贵南县| 曲沃县| 平泉县| 新竹县| 元谋县| 民和| 长沙县| 慈利县| 赣州市| 清原| 三门峡市| 咸阳市| 江都市| 大方县| 汾西县| 合阳县| 桃源县| 宣恩县| 潮安县| 巴青县| 河池市| 商城县| 肥乡县| 广宗县| 凯里市| 满洲里市| 西藏| 黑河市| 慈溪市| 石台县| 大同市| 洪泽县| 盘锦市|