Как сдеелать переопределение методов класса js?
Ответы
Кирилл Маркеев
14 января 2023
Для переопределения метода класса нужно в дочернем (наследуемом) классе объявить метод с тем же именем, что и у метода родительского класса.
Создадим родительский класс, в котором объявим метод sayGreeting()
:
class User {
constructor(name, age) {
this.name = name;
this.age = age;
}
sayGreeting() {
return `Hello! My name is ${this.name}!`;
}
}
Создадим экземпляр класса User
и проверим, что всё работает:
const user = new User('John', 30);
console.log(user.sayGreeting()); // => Hello! My name is John!
Предположим, что мы хотим переопределить метод sayGreeting()
. Для этого создадим другой класс, который будет наследоваться от класса User
, и объявим в дочернем классе свой метод sayGreeting()
:
class Student extends User {
sayGreeting() {
return `Hi! My name is ${this.name}, glad to meet you!`;
}
}
Убедимся, что переопределение работает:
const student = new Student('Mike', 20);
console.log(student.sayGreeting()); // => Hi! My name is Mike, glad to meet you!
0
0