var VehicleFactory =function (subType,superType) {
if(typeof VehicleFactory[superType]==='function'){
//開始複製父類給子類
subType.constructor=subType;
subType.prototype=new VehicleFactory[superType]();
}else{
return new Error("無父類抽象方法");
}
}
VehicleFactory.Bus=function () {
this.type="Bus"
}
VehicleFactory.Bus.prototype={
getSpeed:function () {
return new Error("抽象的");
},
getPrice:function () {
return new Error("抽象的")
}
}
$(function () {
var Lushan=function (price,speed) {
this.price=price;
this.speed=speed;
}
VehicleFactory(Lushan,'Bus');
Lushan.prototype.getPrice=function () {
return this.price;
}
var lus=new Lushan(20,20)
alert(lus.getPrice())
})
這個模式歸根到底可以認爲是子類將父類的對象複製,然後在子類中實現,這樣的好處是相同的東西放到父節點裏,子節點裏負責特異化並實現抽象的內容,就可以生產出一堆東西
代碼難以理解: