js抽象工場モデル

2235 ワード

        

: ——

(Abstract Factory): , 。

5.1: ——

javascript abstract , 。 , , ,javascript , 。

// , var Car = function(){}; Car.prototype = { getPrice: function(){ return new Error( " " ); }, getSpeed: function(){ return new Error( " " ); } }

car , , prototype , 。

, , , , 。 , , , , 。 , , , , , 。

, , , 。

——

var VehicleFactory = function( subType, superType ){ // if( typeof VehicleFactory[ superType ] ==="function" ){ // var F = function(){}; // F.prototype = new VehicleFactory[ superType ](); // subType.prototype = new F(); }else{ // throw new Error( "" ); } } // VehicleFactory.Car = function(){ this.type = "car"; }; VehicleFactory.Car.prototype = { getPrice: function(){ return new Error( " " ); }, getSpeed: function(){ return new Error( " " ); } }; var BMW = function( price, speed ){ this.price = price; this.speed = speed; }; VehicleFactory( BMW, "Car" ); BMW.prototype.getPrice = function(){ return this.price; } var bmw = new BMW( 100000, 1000 ); console.log( bmw.getPrice() );
                 

, 。 , , , , 。 JavaScript , 。