var
Bicycle = new
Interface( "Bicycle" ,[ "assemble" , "wash" , "ride" , "repair" ]);
var
Lowride = function () {};
Lowride.prototype = {
assemble: function () {
document.write( "Lowride assemble success!<br />" )
},
wash: function () {
document.write( "Lowride wash success!<br />" );
},
ride: function () {
document.write( "Lowride ride success!<br />" );
},
repair: function () {
document.write( "Lowride repair success!<br />" );
}
};
var
Speedstr = function () {};
Speedstr.prototype = {
assemble: function () {
document.write( "Speedstr assemble success!<br />" )
},
wash: function () {
document.write( "Speedstr wash success!<br />" );
},
ride: function () {
document.write( "Speedstr ride success!<br />" );
},
repair: function () {
document.write( "Speedstr repair success!<br />" );
}
}
var
Comfortcruisor = function () {};
Comfortcruisor.prototype = {
assemble: function () {
document.write( "Comfortcruisor assemble success!<br />" )
},
wash: function () {
document.write( "Comfortcruisor wash success!<br />" );
},
ride: function () {
document.write( "Comfortcruisor ride success!<br />" );
},
repair: function () {
document.write( "Comfortcruisor repair success!<br />" );
}
}
var
BicycleFactory = function () {};
BicycleFactory.prototype = {
createBicycle: function (model) {
var
bicycle;
switch (model){
case
"Lowride" :
bicycle = new
Lowride();
break ;
case
"Speedstr" :
bicycle = new
Speedstr();
break ;
case
"Comfortcruisor" :
bicycle = new
Comfortcruisor();
break ;
}
Interface.ensureImplents(bicycle,Bicycle);
return
bicycle;
}
}
var
BicycleShop = new
BicycleFactory();
var
concertBicycle = BicycleShop.createBicycle( "Speedstr" );
concertBicycle.assemble();
concertBicycle.wash();
concertBicycle.ride();
concertBicycle.repair();
|