日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 工厂的变形模拟的各种应用

發(fā)布時(shí)間:2025/7/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 工厂的变形模拟的各种应用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?工廠模式是在項(xiàng)目開發(fā)中使用效率高,意一個(gè)接口,該定義用于創(chuàng)建對(duì)象。讓子類來決定哪一個(gè)類實(shí)例。

這就是一個(gè)工廠類的示意圖

接著來一個(gè)簡單的樣例:

如上圖所看到的,我們首先定義我們的產(chǎn)品抽象類接口,也能夠是抽象類:

package factory;public abstract class PlatForm {public void search(){System.out.println("你搜索的結(jié)果是。。。

。。。

"); } public abstract void music(); }


以下是一些實(shí)現(xiàn)類

package factory;public class BaiduProduct extends PlatForm{@Overridepublic void music() {System.out.println("baidu music");}}
package factory;public class Qihu360Product extends PlatForm{@Overridepublic void music() {System.out.println("360 music");}}
package factory;public class SogouProduct extends PlatForm{@Overridepublic void music() {System.out.println("sogou music");}}
三個(gè)實(shí)現(xiàn)類已經(jīng)完畢,以下我們要來一個(gè)工廠的抽象類package factory;public abstract class Creator {/*** 創(chuàng)建一個(gè)產(chǎn)品對(duì)象,當(dāng)中T 能夠?yàn)?String Enum Class等 參數(shù)能夠自己設(shè)置* @param c* @return*/public abstract <T extends PlatForm> T createProduct(Class<T> c); } 以下是實(shí)現(xiàn)類

package factory;public class ConcrentCreator extends Creator{@Overridepublic <T extends PlatForm> T createProduct(Class<T> c) {PlatForm plat = null;try {/*** 創(chuàng)建一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類去確定實(shí)例化哪一個(gè)對(duì)象。工廠方法,讓一個(gè)類的實(shí)例化延遲到子類*/plat = (PlatForm) Class.forName(c.getName()).newInstance();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}return (T) plat;}}
package factory;public class Client {public static void main(String[] args) {Creator creator = new ConcrentCreator();//在這里能夠把你要實(shí)例化的類給傳進(jìn)去。然后就可以調(diào)用你想要的方法。

PlatForm plat = creator.createProduct(BaiduProduct.class); plat.search(); plat.music(); } }


在這里面模仿了一個(gè)client,就能夠輸出你想要的結(jié)果。

在工廠模式方法中抽象產(chǎn)品類負(fù)責(zé)定義產(chǎn)品的共性,實(shí)現(xiàn)實(shí)物最抽象的定義;creator為產(chǎn)品抽喜創(chuàng)建類,也就是抽象工廠詳細(xì)怎樣創(chuàng)建產(chǎn)品類有詳細(xì)的實(shí)現(xiàn)creator的工廠類來完畢。工廠類的變種非常多,以下,我總結(jié)類一個(gè)比較通用的源代碼。

1:抽象產(chǎn)品類

package factory.total;public abstract class Product {public void method1(){//全部產(chǎn)品的共性}//抽象方法 詳細(xì)有繼承它的類去實(shí)現(xiàn)public abstract void method2(); } 2:產(chǎn)品實(shí)現(xiàn)類

package factory.total;public class ConcretProduct1 extends Product{@Overridepublic void method2() {//TODO}}package factory.total;public class ConcretProduct2 extends Product{@Overridepublic void method2() {//TODO}}
3:抽象工廠類

package factory.total;public abstract class Creator {public abstract <T extends Product> T createMethod(Class<T> c);}
4:詳細(xì)工廠類:

package factory.total;public class ConcreteCreator extends Creator{@Overridepublic <T extends Product> T createMethod(Class<T> c) {Product pro = null;try {pro = (Product) Class.forName(c.getName()).newInstance();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}return (T) pro;}}
場(chǎng)景模擬類

package factory.total;public class Client {public static void main(String[] args) {Creator creator = new ConcreteCreator();Product pro = creator.createMethod(ConcretProduct1.class);pro.method1();pro.method2();} }
當(dāng)中工廠模式又分為簡單工廠模式,和多級(jí)工廠模式,只是這兩種情況。和上一種都比較類似了,當(dāng)中簡單工廠模式僅僅是簡單的把抽象工廠類去掉,然后把工廠實(shí)現(xiàn)類的方法改成static方法。多級(jí)工廠模式是指:比如當(dāng)我們見到一個(gè)比較復(fù)雜的項(xiàng)目時(shí)。全部的產(chǎn)品類都放到一個(gè)工廠類中去初始化會(huì)顯得結(jié)構(gòu)不清晰,那么我們?nèi)缃窬蜑槊恳环N產(chǎn)品都有自己的一個(gè)工廠類;以下我會(huì)給出實(shí)例多級(jí)工廠類的應(yīng)用。

我是有些基礎(chǔ)類還是使用曾經(jīng)的。僅僅只是為每一個(gè)產(chǎn)品添加了一個(gè)工廠類

1:抽象工廠類:

package factory.more;public abstract class AbstractPlatFactory {public abstract PlatForm createPlat(); }
2:詳細(xì)工廠類:

package factory.more;public class BaiduFactory extends AbstractPlatFactory{@Overridepublic PlatForm createPlat() {// TODO Auto-generated method stubreturn new BaiduProduct();}}
package factory.more;public class Qihu360Factory extends AbstractPlatFactory{@Overridepublic PlatForm createPlat() {return new Qihu360Product();}}
package factory.more;public class SogouFactory extends AbstractPlatFactory{@Overridepublic PlatForm createPlat() {return new SogouProduct();}}
場(chǎng)景類:package factory.more;public class Client {public static void main(String[] args) {PlatForm plat = new BaiduFactory().createPlat();plat.search();plat.music();} } 這是多級(jí)工廠類的使用,

實(shí)際上還有抽象工廠類的應(yīng)用,它是指為相關(guān)對(duì)象提供一組接口,如果沒有指定具體的類。

(今天太晚了,過了一段時(shí)間,然后會(huì)說)

版權(quán)聲明:本文博主原創(chuàng)文章。博客,未經(jīng)同意不得轉(zhuǎn)載。

轉(zhuǎn)載于:https://www.cnblogs.com/yxwkf/p/4793571.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的java 工厂的变形模拟的各种应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩黄色三级 | 伊人色在线 | 在线观看亚洲精品视频 | 成人国产片 | 欧美日韩在线免费看 | 亚洲精品国产精品乱码 | 亚洲欧洲久久久 | 日本道中文字幕 | 精品日本一区二区三区 | 中国爆后菊女人的视频 | 有奶水的迷人少妇 | 日韩网红少妇无码视频香港 | 日韩精品一二三四 | 伊人春色在线观看 | 精品一区久久久 | 免费在线你懂的 | 91伊人网| 女教师高潮黄又色视频 | 午夜国产在线观看 | 中文字幕第十一页 | 国产高清视频一区二区 | 男人日女人免费视频 | 午夜一二三区 | 中文字幕国产在线 | 性a视频| 人人涩 | 国产jzjzjz丝袜老师水多 | 不卡在线 | 欧美少妇xx | 日本电影大尺度免费观看 | 久久r精品 | 国产精品一区二区在线观看 | 人人爱人人艹 | 久久国产精品首页 | 天天躁日日躁aaaa视频 | 亚洲人xxx日本人18 | 深夜成人福利视频 | 国产视频手机在线观看 | 久艹av | 国产美女91呻吟求 | a天堂亚洲 | 黄色小电影网址 | 9久9久9久女女女九九九一九 | 一本一道久久a久久 | 日韩中文字幕一区 | 欧美黄色一级片视频 | 亚洲男人网站 | 欧美混交群体交 | 精品久久久久久久久久久久 | 黄色片免费的 | 伊人国产在线视频 | 免费三片在线观看网站v888 | 偷拍视频久久 | 一区二区免费在线 | 色眯眯网 | 国产中文字幕网 | 中文字幕第一页在线播放 | 东凛在线观看 | 穿情趣内衣被c到高潮视频 欧美性猛交xxxx黑人猛交 | 国产精品超碰 | 牛夜精品久久久久久久99黑人 | 日韩黄色视屏 | 久久久成人精品一区二区三区 | 国产精品久久久久久一区二区三区 | 欧美在线激情视频 | 黄色777| 高清在线一区二区三区 | 人人爽人人爽人人爽 | 精品国产精品国产偷麻豆 | 国产一区麻豆 | www国产亚洲精品久久麻豆 | 亚洲AV综合色区无码国产播放 | 魔女鞋交玉足榨精调教 | 日韩欧美一区二区三区视频 | 日韩h在线观看 | 国产乱国产乱老熟300部视频 | 成人熟女一区二区 | 日本视频在线免费观看 | 久久中文字幕一区二区 | 黑人vs亚洲人在线播放 | 天天操天天干天天爱 | 日韩美女视频一区 | 好吊色视频一区二区三区 | 日韩永久免费视频 | 男人的天堂99 | 亚洲av熟女高潮一区二区 | 午夜丰满寂寞少妇精品 | 人人舔人人干 | 亚洲国产成人av | 国产1级片| 毛片网站在线 | 激情婷婷丁香 | 国产ts变态重口人妖hd | 全部毛片永久免费看 | 无码日本精品xxxxxxxxx | 毛片.com | 99ri在线观看| 艹男人的日日夜夜 | 中文字幕精品在线 |