Итак, у меня есть этот класс javascript под названием Car, и я определил его экземпляр 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 для Prius, к чему-то вроде этого:
function sellPrius() { return "I'm a snooty car with "+getMileage()+ " mpg "; }
Любые предложения, и я прав, говоря, что Javascript лечит автомобиль как " abstract ', Car.sellSelf() терпит неудачу.
Спасибо за помощь!
Это не правда. JavaScript OOP. Google для 'javascript prototype' для получения дополнительной информации. –
Если вы хотите использовать ООП с JavaScript, вам лучше использовать тот же 'lib' как * Prototype * или * Base *. – user278064
javascript не имеет «классов» как таковых, просто функций, возвращающих объекты (которые могут _behave_ как классы). Вы должны обязательно изучить наследование JS от прототипа. – tjarratt