a fourni le code suivant:ES6 javascript héritage
class Person {
constructor(name) {
this.name = name;
}
sayHello() {
console.log('Hello, my name is ' + this.name);
}
sayHelloAndBy() {
this.sayHello();
console.log('Bye');
}
}
class Student extends Person {
constructor(name, grade) {
super(name);
this.grade = grade;
}
sayHello() {
console.log(`Hi, I'm a studend and my name is ` + this.name);
}
}
let b = new Student("Some guy", 5);
b.sayHelloAndBy();
Je voudrais trouver un moyen d'appeler sayHello
tel que défini dans Person
et non Student
. C'est possible ?
En php, il y a le self::
qui permet de faire cela, mais je ne suis pas sûr si JS a un concept similaire.
Dépend de f de là où vous voulez l'appeler. Alors, où voulez-vous appeler la méthode sayHello de la personne? –
Vous pouvez utiliser 'super' dans les méthodes pour faire référence à une méthode parente substituée. –
'Person.prototype.sayHello.call (this)' – Ryan