更新時間:2022-09-01 11:07:07 來源:動力節(jié)點(diǎn) 瀏覽1646次
在基于類的編程中,工廠方法模式是一種創(chuàng)建模式,它使用工廠方法來處理創(chuàng)建對象的問題,而不必指定將要創(chuàng)建的對象的確切類。這是通過調(diào)用工廠方法(在接口中指定并由子類實(shí)現(xiàn),或在基類中實(shí)現(xiàn)并可選地由派生類覆蓋)而不是通過調(diào)用構(gòu)造函數(shù)來創(chuàng)建對象來完成的。
接口 ImageReader {
解碼圖像 getDecodeImage();
}
類解碼圖像 {
私有字符串圖像;
公共解碼圖像(字符串圖像){
this.image = 圖像;
}
@覆蓋
公共字符串 toString() {
return image + ": 已解碼";
}
}
類 GifReader 實(shí)現(xiàn) ImageReader {
私人解碼圖像解碼圖像;
公共 GifReader(字符串圖像){
this.decodedImage = new DecodedImage(image);
}
@覆蓋
公共解碼圖像 getDecodeImage() {
返回解碼圖像;
}
}
類 JpegReader 實(shí)現(xiàn) ImageReader {
私人解碼圖像解碼圖像;
公共JpegReader(字符串圖像){
解碼圖像 = 新解碼圖像(圖像);
}
@覆蓋
公共解碼圖像 getDecodeImage() {
返回解碼圖像;
}
}
公共類 FactoryMethodDemo {
公共靜態(tài)無效主要(字符串[]參數(shù)){
解碼圖像解碼圖像;
ImageReader 閱讀器 = null;
字符串圖像 = args[0];
字符串格式 = image.substring(image.indexOf('.') + 1, (image.length()));
if (format.equals("gif")) {
閱讀器 = 新 GifReader(圖像);
}
if (format.equals("jpeg")) {
reader = new JpegReader(image);
}
斷言讀者!= null;
解碼圖像 = reader.getDecodeImage();
System.out.println(decodedImage);
}
}
以上就是關(guān)于“Java工廠方法模式”的介紹,大家如果想了解更多相關(guān)知識,可以關(guān)注一下動力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門到精通,細(xì)致全面,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所幫助。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743