- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- Java中怎么實(shí)現創(chuàng )建者模式
這篇文章給大家介紹Java中怎么實(shí)現創(chuàng )建者模式,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng )建者模式和工廠(chǎng)模式有點(diǎn)類(lèi)似,不過(guò)關(guān)注點(diǎn)不同。工廠(chǎng)模式往往只關(guān)心你要的是什么,二不關(guān)心這個(gè)東西的具體細節是什么。而創(chuàng )建模式則關(guān)心的是這個(gè)東西的具體細節的創(chuàng )建。拿創(chuàng )建人物來(lái)說(shuō),我們關(guān)心的不僅是創(chuàng )建一個(gè)人物,還要關(guān)心他的性別,膚色和名字,則可以使用創(chuàng )建者模式:
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 我們關(guān)心的不僅僅是創(chuàng )建一個(gè)人物,還要關(guān)心其特征的創(chuàng )建 * */ public class RaceBuilder { private Race race; /** * DOC 創(chuàng )建一個(gè)種族 * * @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 返回這個(gè)創(chuàng )建好的種族 * * @return */ public Race create() { return this.race; } }
測試類(lèi):
package builder; public class Main { public static void main(String[] args) { Race race = new RaceBuilder().builder().setName("張三").setSex("男").setSkinColor("白色").create(); } }
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站