国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java設計模式之創建者模式簡介

2019-11-26 15:28:08
字體:
來源:轉載
供稿:網友

Java的創建者模式與工廠模式有點類似,不過關注點不同。工廠模式往往只關心你要的是什么,而不關心這個東西的具體細節是什么。相對而言創建模式則是關心這個東西的具體細節的創建。拿創建人物來說,我們關心的不僅是創建一個人物,還要關心他的性別,膚色和名字,則可以使用創建者模式。

程序實例如下所示:

package builder;/** *  * DOC 種族角色 *  */public class Race {  private String name;// 名字  private String skinColor;// 膚色  private String sex;// 性別  public String getName() {    return this.name;  }  public void setName(String name) {    this.name = name;  }  public String getSkinColor() {    return this.skinColor;  }  public void setSkinColor(String skinColor) {    this.skinColor = skinColor;  }  public String getSex() {    return this.sex;  }  public void setSex(String sex) {    this.sex = sex;  }}package builder;/** *  * DOC 我們關心的不僅僅是創建一個人物,還要關心其特征的創建 *  */public class RaceBuilder {  private Race race;  /**   * DOC 創建一個種族   *    * @return   */  public RaceBuilder builder() {    this.race = new Race();    return this;  }  /**   * DOC 取名字   *    * @return   */  public RaceBuilder setName(String name) {    this.race.setName(name);    return this;  }  /**   * DOC 選擇性別   *    * @return   */  public RaceBuilder setSex(String sex) {    this.race.setSex(sex);    return this;  }  /**   * DOC 選擇膚色   *    * @return   */  public RaceBuilder setSkinColor(String skinColor) {    this.race.setSkinColor(skinColor);    return this;  }  /**   *    * DOC 返回這個創建好的種族   *    * @return   */  public Race create() {    return this.race;  }}

測試類如下:

package builder;public class Main {  public static void main(String[] args) {    Race race = new RaceBuilder().builder().setName("張三").setSex("男").setSkinColor("白色").create();  }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涡阳县| 湘乡市| 岢岚县| 雷山县| 裕民县| 神木县| 勃利县| 汝城县| 古蔺县| 丰镇市| 中卫市| 手游| 紫金县| 包头市| 邵阳县| 华安县| 郴州市| 喀什市| 隆昌县| 东山县| 南澳县| 老河口市| 涿州市| 凤庆县| 阿克苏市| 边坝县| 内乡县| 吉安市| 玛沁县| 营口市| 平顺县| 那曲县| 行唐县| 常宁市| 大竹县| 郴州市| 松潘县| 高青县| 台前县| 黔东| 习水县|