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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java——设计模式(简单工厂模式)

發(fā)布時(shí)間:2023/12/1 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java——设计模式(简单工厂模式) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
* A:簡(jiǎn)單工廠模式概述* 簡(jiǎn)單工廠模式又叫靜態(tài)工廠方法模式,它定義了一個(gè)具體的工廠類(lèi)負(fù)責(zé)創(chuàng)建一些類(lèi)的實(shí)例* B:優(yōu)點(diǎn)* 客戶端不需要再負(fù)責(zé)對(duì)象的創(chuàng)建,從而明確了各個(gè)類(lèi)的職責(zé)* 簡(jiǎn)單來(lái)說(shuō),客戶端你只需要用就可以了,就不用創(chuàng)建了,工廠來(lái)創(chuàng)建就可以了* C:缺點(diǎn)* 這個(gè)靜態(tài)工廠類(lèi)負(fù)責(zé)所有對(duì)象的創(chuàng)建,如果有新的對(duì)象增加,或者某些對(duì)象的創(chuàng)建方式不同,就需要不斷地修改工廠類(lèi),不利于后期的維護(hù)* 也就是說(shuō):你得需要不斷地去修改你的源碼,是不利于后期的維護(hù)的* D:案例演示* 動(dòng)物抽象類(lèi):public abstract Animal(public abstract void eat();)* 具體狗類(lèi):public class Dog extends Animal{}* 具體貓類(lèi):public class Cat extends Animal{}* 開(kāi)始:在測(cè)試類(lèi)中每個(gè)具體的內(nèi)容自己創(chuàng)建對(duì)象,但是,創(chuàng)建對(duì)象的工作如果比較麻煩,就需要有人專(zhuān)門(mén)做這個(gè)事情,所以就制造了一個(gè)專(zhuān)門(mén)的類(lèi)來(lái)創(chuàng)建對(duì)象* * 例如:本來(lái)我們創(chuàng)建對(duì)象需要自己去創(chuàng)建,比如說(shuō),你需要一只狗,自己就創(chuàng)建一個(gè),而簡(jiǎn)單工廠認(rèn)為,對(duì)于這件事就不勞費(fèi)客戶了,創(chuàng)建狗對(duì)象或者是貓對(duì)象,交個(gè)簡(jiǎn)單工廠去創(chuàng)建就可以了* 要狗,簡(jiǎn)單工廠就會(huì)給客戶提供狗,要貓,簡(jiǎn)單工廠就會(huì)給顧客提供貓;所以,現(xiàn)在我們就要做一個(gè)工廠,這個(gè)工廠就是用來(lái)生產(chǎn)狗,或者貓的;* 首先,要?jiǎng)?chuàng)建工廠得有Animal、Dog、Cat這些類(lèi) package com.yy.簡(jiǎn)單工廠;public abstract class Animal { //創(chuàng)建一個(gè)動(dòng)物抽象類(lèi),在這個(gè)Animal抽象類(lèi)里面有個(gè) 吃 的方法public abstract void eat();} package com.yy.簡(jiǎn)單工廠;public class Dog extends Animal { //創(chuàng)建一個(gè)狗類(lèi),讓Dog類(lèi)去繼承Animal這個(gè)抽象類(lèi)public void eat(){ //并且去重寫(xiě)Animal里面的的eat這個(gè)抽象方法System.out.println("狗吃肉"); //然后輸出一句話:狗吃肉}} package com.yy.簡(jiǎn)單工廠;public class Cat extends Animal { //創(chuàng)建一個(gè)貓類(lèi),讓Cat類(lèi)去繼承Animal這個(gè)抽象類(lèi)public void eat() { //并且去重寫(xiě)Animal里面的的eat這個(gè)抽象方法System.out.println("貓吃魚(yú)"); //然后輸出一句話:狗吃肉}} package com.yy.簡(jiǎn)單工廠;public class AnimalFactory { //創(chuàng)建一個(gè)動(dòng)物工廠,目的是為了生產(chǎn)動(dòng)物,可以生產(chǎn)狗,也可以生產(chǎn)貓,需要啥就創(chuàng)建啥對(duì)象即可/*public static Dog createDog(){ //該方法用來(lái)創(chuàng)建狗return new Dog(); //返回一個(gè)狗}public static Cat createCat(){ //該方法用來(lái)創(chuàng)建貓return new Cat(); //返回一個(gè)貓}*///我們發(fā)現(xiàn),如果動(dòng)物太多的話,必須得定義很多個(gè)方法,復(fù)用性太差//改進(jìn)public static Animal createAnimal(String name){ //返回類(lèi)型為Animal,參數(shù)為一個(gè) 名字if("dog".equals(name)){ //如果傳入的是一只狗的話,就對(duì)參數(shù)進(jìn)行判斷return new Dog(); //參數(shù)是狗,就返回一個(gè)狗}else if("cat".equals(name)){ //如果傳入的是一只貓的話,就對(duì)參數(shù)進(jìn)行判斷return new Cat(); //參數(shù)是貓,就返回一個(gè)狗}else { //如果傳入的是既不是狗又不是貓的話return null; //就返回一個(gè)null}//如果在有一個(gè)其他的類(lèi),就會(huì)返回null,一返回null,Test這個(gè)類(lèi)就會(huì)進(jìn)行,null就開(kāi)始調(diào)用eat這個(gè)方法,然后就會(huì)出現(xiàn)空指針異常,這個(gè)就是簡(jiǎn)單工廠模式的弊端所在}} package com.yy.簡(jiǎn)單工廠;public class Test { //做一個(gè)測(cè)試類(lèi)public static void main(String[] args) {/*Dog yy = AnimalFactory.createDog(); //想要一只狗,運(yùn)用 類(lèi)名. 來(lái)調(diào)用System.out.println(yy);*/ //打印 狗 ,這里沒(méi)有重寫(xiě)toString方法,所以返回為類(lèi)名+@+HashCode16進(jìn)制Dog d = (Dog) AnimalFactory.createAnimal("dog"); //通過(guò) 類(lèi)名. 來(lái)調(diào)用,由于 AnimalFactory.createAnimal該方法返回的是Animal,而我們通過(guò)Dog接收,所以這時(shí)要進(jìn)行強(qiáng)轉(zhuǎn),由Animal類(lèi)型強(qiáng)制轉(zhuǎn)換為Dog類(lèi)型d.eat(); //類(lèi)名.方法 調(diào)用Dog類(lèi)里面的eat方法//輸出結(jié)果:狗吃肉Cat c = (Cat) AnimalFactory.createAnimal("cat");c.eat();//輸出結(jié)果:貓吃魚(yú)}}

總結(jié)

以上是生活随笔為你收集整理的Java——设计模式(简单工厂模式)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 丰满大乳露双乳呻吟 | 国产又大又黄的视频 | 深夜福利国产 | 国产精品区一区二区三 | 亚洲成人 av | 最近中文字幕免费视频 | 亚洲v日本 | 国产91精品久久久 | 久久久久久国产精品 | 久章操| 天堂在线资源网 | 成人99视频| jizzjizz美国| 999精品网站| 毛片网站视频 | 一个色av | 无套内谢88av免费看 | 超碰77| 久久8| 在线一级片 | 亚洲一区二区免费 | 俄罗斯一级片 | 午夜影院在线 | 国产精品丝袜视频无码一区69 | 国产片高清在线观看 | 3344av | 亚洲精品天堂成人片av在线播放 | 天天色网站 | www.香蕉.com | 国产欧洲亚洲 | 美女裸体跪姿扒开屁股无内裤 | 四虎在线观看 | 中文字幕+乱码+中文字幕一区 | 黄色一级大片在线免费看国产 | 国产精品久久久久久免费观看 | www国产亚洲精品久久麻豆 | 国产农村妇女精品久久久 | 黄色91视频| 视频一区二区免费 | 国产美女一区二区 | 乳色吐息免费看 | 日本黄色免费 | 九九久久精品 | 污污网站在线观看视频 | 成人午夜视频免费观看 | 黑料福利| 在线观看av的网址 | 亚洲日本色图 | 成人免费视频a | a天堂资源| 午夜精品三级久久久有码 | 男女作爱网站 | 熟女高潮一区二区三区视频 | 天天爽天天摸 | 99精品视频免费版的特色功能 | 台湾佬美性中文娱乐网 | 国产精品第72页 | 中文字幕一区二区三区人妻不卡 | 精品国产一 | 欧美一二 | 公侵犯人妻一区二区三区 | 欧美人与动牲交xxxxbbbb | 国产精品国产三级国产普通话对白 | 成人激情视频网 | 亚洲午夜无码久久久久 | 久久中字 | 黄色成人av| 亚洲精品免费观看 | 成人在线短视频 | 国产精品无码一本二本三本色 | 亚洲高潮无码久久 | 精品少妇人妻av一区二区三区 | 亚洲一级片在线观看 | 欧美中文| 看黄色一级大片 | 久久字幕| 免费的一级黄色片 | 动漫av在线播放 | 成年人毛片视频 | 国产精品理论片 | 黄色小视频在线观看免费 | 草莓巧克力香氛动漫的观看方法 | 扒开伸进免费视频 | 好吊操av| 伊人网在线播放 | 成人亚洲电影 | 精品美女www爽爽爽视频 | 国产精品v亚洲精品v日韩精品 | 99999精品视频 | 国产一区视频在线观看免费 | www麻豆视频| 亚洲一区二区免费看 | 夜夜涩 | 夜夜嗨一区二区 | 九九色网| 日韩影院一区二区 | 日日干夜夜干 | 欧美 亚洲 另类 偷偷 自拍 | 超碰成人福利 |