Я довольно новичок в Javascript и начал несколько дней go. Когда я занимался практикой, я столкнулся с проблемой, хотя я провел обширные исследования, но все равно не получил ее.
Мне дано следующее определение класса Rectangle
class Rectangle {
constructor(w, h) {
this.w = w;
this.h = h;
}
}
Я являюсь попросил добавить метод area()
через прототипирование, и я сделал следующее:
Rectangle.prototype.area = function(){
return this.w * this.h;
}
И если я унаследую класс Rectangle для класса Square, экземпляр класса квадрата наследует метод area()
, который добавляется через прототипирования? Как это?
class Square extends Rectangle{
constructor(w, h){
super(w, h);
}
}
Учитывая приведенный выше код, возможно ли или как вызвать метод area()
из экземпляра Square, чтобы следующий код работал?
const sqr = new Square(3);
console.log(sqr.area());
Если вы знаком с другими языками, какие прототипы можно сравнить с другими языками, такими как Java, Kotlin и др. c?