在特定实例上实现方法?

Don*_*ton 2 javascript oop

所以我有一个名为Car的javascript类,我已经定义了它的一个实例,一个Prius.

Car  = 
function Car ()
{
     var mileage = 10;
     var maker = "Basic";
     var model = "Model";



   return {

   'sellSelf'   : function()  { return "I am a "+  model+ " from " +   maker + " with mpg "+  mileage;}    ,
   'getMileage' : function()  { return mileage; } ,
   'setMileage' : function(m) { mileage = m; }    ,
   'getMaker'   : function()  { return maker; } ,
   'setMaker'   : function(m) { maker = m; }    ,
   'getModel'   : function()  { return model; } ,
   'setModel'   : function(m) { model = m; }    
   };    
}


Prius = new Car();
Prius.setMaker('Toyota');
Prius.setModel('Prius');
Prius.setMileage(500);
alert(Prius.sellSelf());
alert(Prius.getMileage());
Run Code Online (Sandbox Code Playgroud)

我希望能够覆盖Prius的sellSelf方法,如下所示:

function sellPrius() { return "I'm a snooty car with "+getMileage()+ " mpg "; }
Run Code Online (Sandbox Code Playgroud)

任何建议,我正确地说javascript将Car视为'抽象',Car.sellSelf()失败了.

谢谢您的帮助!

SLa*_*aks 5

你可以设置方法prius:

Prius.sellSelf = function() { return "I'm a snooty car with " + this.getMileage() + " mpg "; }
Run Code Online (Sandbox Code Playgroud)