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())
})
这个模式归根到底可以认为是子类将父类的对象复制,然后在子类中实现,这样的好处是相同的东西放到父节点里,子节点里负责特异化并实现抽象的内容,就可以生产出一堆东西
代码难以理解: