色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

生成器模式(又名建造者模式、Builder Pattern)

  模式名稱:生成器模式

  1.問題描述

  生活場景:你玩過種地、種花等類似的游戲嗎?這是最近很流行的游戲喲!下面就是從種花游戲中剪切的四個花盆(盆景),很漂亮吧!你將不同的種子放入花盆,一段時間后你就可以看到各種美麗的鮮花了,不同種子所生產出來的鮮花有不同的花朵、葉子和枝莖。編碼該如何實現呢?

                          

  設計目標:將種子放入花盆,一段時間后就可以收獲美麗的鮮花! 

  2.不假思索的思路:將盆景看做一個類,有幾個盆景我new幾個對象,直接完成這一奇妙過程。

  設計類圖:

                      

/**
* 荷花盆景
*/
public class WaterlilyFlowerpot {
public String name;
//
public String stem;
//
public String leaf;
//
public String flower;

public void grow(){

//說明種類
name = "荷花";

//生產莖
stem = "40厘米";

//生產葉子
leaf = "圓形";

//生產花
flower = "白里透紅";

}
public void create(){
System.out.println(name
+ " : 莖"+" - "+stem+" , 葉"+" - "+leaf+" , 花"+" - "+flower);
}
}

/**
* 玫瑰盆景
*/
public class RoseFlowerpot {
public String name;
//
public String stem;
//
public String leaf;
//
public String flower;

public void grow(){

//說明種類
name = "玫瑰";

//生產莖
stem = "20厘米";

//生產葉子
leaf = "橢圓形";

//生產花
flower = "大紅大白";

}
public void create(){
System.out.println(name
+ " : 莖"+" - "+stem+" , 葉"+" - "+leaf+" , 花"+" - "+flower);
}
}
/**
* 場景類
*/
public class Client {
public static void main(String[] args){
//開始種玫瑰花
RoseFlowerpot rfp = new RoseFlowerpot();
rfp.grow();
//盛開
rfp.create();
//玫瑰 : 莖 - 20厘米 , 葉 - 橢圓形 , 花 - 大紅大白 半徑5厘米

//開始種荷花
WaterlilyFlowerpot wf = new WaterlilyFlowerpot();
wf.grow();
//盛開
wf.create();
//荷花 : 莖 - 40厘米 , 葉 - 圓形 , 花 - 白里透紅 半徑10厘米
}
}

it知識庫生成器模式(又名建造者模式、Builder Pattern),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 合作市| 荥阳市| 沂南县| 乌兰察布市| 南投市| 德江县| 张家港市| 静宁县| 山东| 农安县| 花垣县| 新密市| 交口县| 原平市| 江川县| 东乡族自治县| 巴中市| 苏尼特右旗| 涿鹿县| 高安市| 汾西县| 南城县| 棋牌| 武乡县| 溧水县| 虞城县| 花垣县| 五莲县| 买车| 科技| 廊坊市| 林芝县| 南充市| 通许县| 望奎县| 扶绥县| 伊宁市| 镇巴县| 大名县| 星子县| 北海市|