真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

java代碼示范工廠模式 java工廠模式詳解

用java 編寫程序寫出簡單的工廠模式?

java中工廠模式分為:

成都創(chuàng)新互聯(lián)公司-專業(yè)網站定制、快速模板網站建設、高性價比瀘溪網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式瀘溪網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋瀘溪地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

簡單工廠模式(Simple Factory)?

2. 工廠方法模式(Factory Method)?

3. 抽象工廠模式(Abstract Factory)

每種方法的實現(xiàn)不同

提供一個簡單工廠模式的案例:

public abstract class Woman {

private String mySkill;

public String getMySkill() {

return mySkill;

}

public Woman() {

//System.out.println("我是女人");

}

public void setMySkill(String mySkill) {

this.mySkill = mySkill;

}

}

----------------------------

public class LovelinessWoman extends Woman{

/*

* 可愛型女人

*/

public LovelinessWoman()

{

String mySkill="撒過嬌、出過軌、勾引領導下過水";

? this.setMySkill(mySkill);

}

}

-----------------------------

public class SteelinessWoman extends Woman{

/*

* 冷酷型女人

*/

public SteelinessWoman()

{

String mySkill="裝過神、弄過鬼,跟別人老公親過嘴";

? this.setMySkill(mySkill);

}

}

--------------------------------------

public class WomanMakeFactory {

public Woman findWoman(int typeID) {

switch (typeID) {

case 1:

return new LovelinessWoman();

case 2:

return new VirtuousWoman();

case 3:

return new SteelinessWoman();

default:

return null;

}

}

public Woman findWoman(String type) throws ClassNotFoundException, InstantiationException, IllegalAccessException {

/*

* Type t = Type.GetType("SimpleFactory." + type);

* Woman wm =

* (Woman)Activator.CreateInstance(t); return wm;

*/

String string="cn.jbit.design.simplefactory."+type;

Class c = Class.forName(string);

Woman wm = (Woman) c.newInstance();

return wm;

}

}

-------------------------

調用

public class Test2 {

/**

* @param args

* @throws IllegalAccessException

* @throws InstantiationException

* @throws ClassNotFoundException

*/

public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {

Scanner input=new Scanner(System.in);

boolean sel=false;

do {

System.out.println("請選擇你要找的女人的類型");

System.out.println("LovelinessWoman:可愛型女人 VirtuousWoman:善良型女人 SteelinessWoman:冷酷型女人");

String typeid=input.next();

? ? ? ?WomanMakeFactory factory = new WomanMakeFactory();

? ? ? ?Woman wm=factory.findWoman(typeid);

? ? ? ?System.out.println("該類型女人的新標準:");

? ? ? ?System.out.println(wm.getMySkill());

? ? ?

? ? ? ?System.out.println("還想看看別的類型嗎?y代表想,n代表再也不想了");

? ? ?

? ? ? ?sel=input.next().equals("y");

} while (sel);

}

}

求java工廠模式的一個簡單代碼例子,盡量簡單

這個應該比較簡單一點。

某系統(tǒng)日志記錄器要求支持多種日志記錄方式,如文件記錄、數(shù)據(jù)庫記錄等,且用戶可以根據(jù)要求動態(tài)選擇日志記錄方式。現(xiàn)使用工廠方法模式設計該系統(tǒng),并寫出相應Java代碼。

interface Log{

public void writeLog();

}

class FileLog implements Log{

public void writeLog(){

System.out.println("文件記錄");

}

}

class DatabaseLog implements Log{

public void writeLog(){

System.out.println("數(shù)據(jù)庫記錄");

}

}

interface LogFactory{

public Log createLog();

}

class FileLogFactory implements LogFactory{

public Log createLog(){

return new FileLog();

}

}

class DatabaseLogFactory implements LogFactory{

public Log createLog(){

return new DatabaseLog();

}

}

public class Client{

public static void main(String[] args) {

try{

Log log;

LogFactory factory;

//這里可以改成使用DOM和Java反射機制讀取XML文件,獲取工廠類名

factory=new DatabaseLogFactory ();

log=factory.createLog();

log.writeLog();

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

}

什么是Java的工廠模式?

factory模式不需要建立什么包,完全得靠你對factory模式的理解,工廠模式基本上應該是體現(xiàn)了一個多態(tài)的概念,用戶只關心結果,而不需要關心其具體過程...

工廠模式有三個參與者,抽象產品(Product)、工廠(Creator)和具體產品(ConcreteProduct)??蛻糁粫吹焦S和抽象產品。

public interface Product{

public String getName();

}

public class ConcreteProduct implements Product{

public String getName(){

return "產品1";

}

}

public class Creator{

public static Product create1(){

return new ConcreteProduct();

}

}

工廠模式的作用在于將創(chuàng)建具體產品的方法由工廠類控制,客戶只需要知道產品的抽象類型


網站名稱:java代碼示范工廠模式 java工廠模式詳解
分享地址:http://weahome.cn/article/dosjgoj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部