色尼玛亚洲综合影院,亚洲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),轉載需保留來源!

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

主站蜘蛛池模板: 柘荣县| 象山县| 吉首市| 嘉峪关市| 阳东县| 色达县| 麟游县| 阳信县| 胶州市| 图们市| 孝昌县| 南部县| 通化市| 毕节市| 芮城县| 商都县| 镇康县| 亚东县| 芷江| 武安市| 柯坪县| 宁南县| 济阳县| 大悟县| 宝丰县| 岳普湖县| 四川省| 凭祥市| 三江| 汝州市| 洞头县| 广南县| 高雄县| 井研县| 北辰区| 柳林县| 泰宁县| 徐汇区| 凤阳县| 全椒县| 伊通|