实现简单工厂(二)

来源:互联网 发布:阿里云有免费空间吗 编辑:程序博客网 时间:2024/05/21 16:02
//创建一个工厂的环境      //卖车的商店      function CarShop(){};      CarShop.prototype = {        constructor : CarShop,  //还原构造器        sellCar : function(type){          var car = CarFactory.createCar(type);          return car;        }      }      //生产车的工厂,单体模式      var CarFactory = {        createCar :function(type){          var car;          switch (type) {            case 'Benz':              car = new Benz();              break;            case 'Bmw':              car = new Bmw();              break;            case 'Audi':              car = new Audi();              break;              default : 'not buy it';          }          //验证接口          Fan.Interface.ensureImplements(car , CarInterface);          return car;        }      }      //通过接口类,实例化一个接口对象      var CarInterface = new Fan.Interface('CarInterface',['start','run']);      //父类      function BaseCar(){};      BaseCar.prototype = {        constructor : BaseCar,        start : function(){          console.log(this.constructor.name + '...start');        },        run : function(){          console.log(this.constructor.name + '...run');        }      }      //车类,宝马,奔驰,奥迪      function Benz(){};      Fan.extend(Benz,BaseCar);      Benz.prototype.driveBenz = function(){        console.log('drive...Benz');      }      function Bmw(){};      Fan.extend(Bmw,BaseCar);      function Audi(){};      Fan.extend(Audi,BaseCar);      var shop = new CarShop();      var car = shop.sellCar('Benz');      car.start();      car.run();      car.driveBenz();

0 0
原创粉丝点击