第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

正在回答

1 回答

工廠模式主要是為了創(chuàng)建對象實(shí)例或者類簇(抽象工廠), 關(guān)心的是最終產(chǎn)出(創(chuàng)建)的對象, 而不關(guān)心創(chuàng)建的過程.

在出現(xiàn)多個類的時候, 每次創(chuàng)建需要找到對應(yīng)的類往往比較麻煩, 這時候通常使用一個函數(shù)進(jìn)行封裝來創(chuàng)建所需要的對象,
這樣就無需關(guān)注創(chuàng)建這些對象到底依賴哪些基類了, 只要知道有這個函數(shù)就可以了, 通常這個函數(shù)被稱為工廠函數(shù),
這種模式叫簡單工廠模式

案例

假設(shè)一體育商品店賣器材, 里面有很多體育商品, 及其相關(guān)介紹. 當(dāng)你來到體育用品店買一個籃球及相關(guān)介紹時,你只需要問售貨員, 她會幫你找到你所需要的東西.

實(shí)現(xiàn)

// 籃球基類

var Basketball = function() { ? ?

this.intro = '籃球盛行于美國';
}
Basketball.prototype = function() {
? ?getMember: function() { ? ? ?

??console.log('每個隊(duì)伍需要5名隊(duì)員');
? ?}, ? ?

getBallSize: function() { ? ? ? ?

console.log('籃球很大');
? ?}
}

// 足球基類

var Football = function() { ? ?

this.intro = '足球在世界范圍內(nèi)盛行';

}
Football.prototype = function() {
? ?getMember: function() { ? ? ? ?

console.log('每個隊(duì)伍需要11名隊(duì)員');
? ?}, ? ?getBallSize: function() { ? ??

? ?console.log('足球很大');
? ?}
}// 網(wǎng)球基類

var Tennis = function() { ??

?this.intro = '每年有很多網(wǎng)球系列賽';
}
Tennis.prototype = function() {
? ?getMember: function() { ? ? ? ?

console.log('每個隊(duì)伍需要1名隊(duì)員');
? ?}, ? ?getBallSize: function() { ? ?

?? ?console.log('網(wǎng)球很小');
? ?}
}// 運(yùn)動工廠(這邊相當(dāng)于咨詢體育器材店的售貨員, 告訴她你想要買什么體育用品)var SportFactory = function(name) { ? ?

switch(name) { ? ? ? ?

case 'basketball': ? ? ? ? ??

?return new Basketball(); ? ? ?

??case 'football': ? ? ? ??

? ?return new Football(); ? ? ??

?case 'tennis': ? ? ? ? ? ?

return new Tennis();
? ?}
}

var ball = new SportFactory('tennis');

console.log(ball.intro) ? ? ? ? ? ?// 每年有很多網(wǎng)球系列賽

console.log(ball.getMember()); ? ?// 每個隊(duì)伍需要1名隊(duì)員

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_我不是漫游_0

你這樣寫不得行,應(yīng)該是 var Basketball = function() { this.intro = '籃球盛行于美國'; } Basketball.prototype = { getMember: function() { console.log('每個隊(duì)伍需要5名隊(duì)員'); }, getBallSize: function() { console.log('籃球很大'); } }
2017-07-28 回復(fù) 有任何疑惑可以回復(fù)我~
#2

qq_青年你好_0 回復(fù) qq_我不是漫游_0

是不是還應(yīng)該修正Basketball.prototype的constructor的屬性。添加constructor:Baseketball.
2018-07-07 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

工廠模式的特點(diǎn)

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號