一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

7.2 工廠方法模式

 黎可圖書館 2013-09-05
一. 概念
工廠方法模式的用意是定義一個創(chuàng)建產(chǎn)品對象的工廠接口,將實(shí)際實(shí)現(xiàn)推遲到子類中。

二. 角色
抽象工廠(Creator)角色:擔(dān)任這個角色的是工廠方法模式的核心,它是與應(yīng)用程序無關(guān)的。其他工廠類必須實(shí)現(xiàn)這個接口。
具體工廠(Concrete Creator)角色:擔(dān)任這個角色的是實(shí)現(xiàn)了抽象工廠接口的具體Java類。
抽象產(chǎn)品(Product)角色:工廠方法模式所創(chuàng)建的對象的超類型,也就是產(chǎn)品對象的共同父類或共同擁有的接口。
具體產(chǎn)品(Concrete Product)角色:這個角色實(shí)現(xiàn)了抽象角色所聲明的接口。

三. 實(shí)現(xiàn)
這里舉一個造人的例子,假設(shè)一個工廠能過造人,那個定義這個工廠威抽象工廠角色,而男人工廠和女人工廠便是具體工廠角色,所造出的人就是抽象產(chǎn)品角色,而具體的男人和女人就是具體產(chǎn)品角色。

Test.java
public class Test {
public static void main(String[] args) {
HumanFactory maleFactory = new MaleFactory();
HumanFactory femaleFactory = new FemaleFactory();
Human xiaohong = femaleFactory.create("小紅");
Human like = maleFactory.create("黎可");
xiaohong.eat();
like.eat();
}
}
測試類先行。

HumanFactory.java
public interface HumanFactory {
public Human create(String name);
}
抽象工廠。

FemaleFactory.java
public class FemaleFactory implements HumanFactory {

@Override
public Human create(String name) {
return new Female(name);
}

}
具體工廠之女人工廠。

MaleFactory.java
public class MaleFactory implements HumanFactory {

@Override
public Human create(String name) {
return new Male(name);
}

}
具體工廠之男人工廠。

Human.java
public abstract class Human {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public abstract void eat();
}
抽象產(chǎn)品,人類。

Human.java
public class Female extends Human {
public Female(){
}
public Female(String name){
super.setName(name);
}
@Override
public void eat() {
System.out.println("小伙"+super.getName()+"正在吃飯");
}

}
具體產(chǎn)品,女人類。

Male.java
public class Male extends Human {
public Male(){
}
public Male(String name){
super.setName(name);
}
@Override
public void eat() {
System.out.println("美女"+super.getName()+"在吃減肥藥");
}

}
具體產(chǎn)品,女人類。

以上就實(shí)現(xiàn)了工廠方法模式。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧洲日韩精品一区二区三区| 中文日韩精品视频在线| 日本一级特黄大片国产| 精品女同在线一区二区| 日韩欧美国产精品自拍| 欧美精品在线播放一区二区| 欧美国产日产综合精品| 中文字幕日产乱码一区二区 | 91人妻人人精品人人爽| 日本黄色高清视频久久| 午夜精品久久久99热连载| 色综合久久超碰色婷婷| 爽到高潮嗷嗷叫之在现观看| 激情五月天免费在线观看| 色哟哟哟在线观看视频| 欧美日韩在线视频一区| 精品人妻一区二区三区四区久久| 福利新区一区二区人口| 日韩不卡一区二区在线| 一级片黄色一区二区三区| 欧美日韩少妇精品专区性色| 欧美91精品国产自产| 亚洲欧美日韩国产自拍| 国产欧美日韩不卡在线视频| 国产三级视频不卡在线观看| 亚洲精品一区二区三区日韩| 久久国产精品亚州精品毛片| 婷婷激情四射在线观看视频 | 成人午夜爽爽爽免费视频| 日本99精品在线观看| 中文字幕欧美精品人妻一区| 国产精品成人又粗又长又爽| 色涩一区二区三区四区| 日韩免费av一区二区三区| 欧美一区二区在线日韩| 日本中文字幕在线精品| 国内欲色一区二区三区| 少妇福利视频一区二区| 久久99青青精品免费观看| 亚洲国产精品一区二区毛片| 亚洲国产成人av毛片国产|