原本的程式,我們產生實例最常見的方法就是 new function ,而使用極簡主義法之後,我們不再這麼做,範例如下
var Parent = {
createNew : function(){
var obj = {};//new object()
obj.age = 40;
obj.name = "龍傲天";
return obj;
}
};
var parent = Parent.createNew();
log(parent.name); //龍傲天
:
從以上的程式我們可看到,我們使用var obj = {};直接產生一個實例,並為其附加方法屬性,並在最後返回這個實例。
那極簡主義法怎麼撰寫繼承呢?這也很簡單,我們的子類別直接賦於父類別的實例就行,範例如下:
var Chilren = {
species : "人類",
createNew : function(){
var obj = Parent.createNew();//直接賦於父類別實例
obj.age = 5;
obj.getSpecies = function(){return Chilren.species};
obj.setSpecies = function(species){Chilren.species = species};
return obj;
}
};
極簡主義法還有一個好處,我們可以很輕鬆的設定靜態屬性:
var childrenImpl = Chilren.createNew();
var childrenImpl2 = Chilren.createNew();
log(childrenImpl.getSpecies()); //人類
log(childrenImpl2.getSpecies());//人類
childrenImpl.setSpecies("妖精");
log(childrenImpl.getSpecies());//妖精
log(childrenImpl2.getSpecies());//妖精
從上述的例子中,因為Children.species資料儲存在實例外,所以某個實例修改屬性後,全部的資料會修正。
因為很多文章是過往自己搜集的資料、圖片,如有侵權疑慮請告知,將立即下架刪除。