所以我有这个叫做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());
我希望能够覆盖sellSelf方法的普锐斯,以这样的:
function sellPrius() { return "I'm a snooty car with "+getMileage()+ " mpg "; }
任何建议,我是说得很对,JavaScript是处理汽车作为“抽象',Car.sellSelf()失败。
感谢您的帮助!
这不是真正的JavaScript OOP。 Google for'javascript prototype'获取更多信息。 –
如果你想在JavaScript中使用OOP,最好使用与* Prototype *或* Base *相同的'lib'。 – user278064
javascript本身没有'classes',只是返回对象的函数(可能_behave_像类一样)。你一定要看看原型的JS继承。 – tjarratt