Как вызвать метод из дочернего класса в родительском классе? <br/> <br/> <pre><code class="javascript">class parentClass {
constructor() {
this.extendMethod(); // ???
}
}
class extendClass extends parentClass {
extendMethod() {
console.log('Hi');
}
}
new parentClass();</code></pre>
Для вызова метода из дочернего класса в родительском классе можно использовать ключевое слово "super".
Пример исправленного кода:
```javascript
class parentClass {
constructor() {
super.extendMethod(); // Вызов метода из дочернего класса
}
}
class extendClass extends parentClass {
extendMethod() {
console.log('Hi');
}
}
new parentClass();
```
Теперь при создании экземпляра класса `parentClass` будет вызван метод `extendMethod()` из дочернего класса `extendClass`.
Создать объект дочернего класса:
class parentClass { constructor() { this.extendMethod(); } } class extendClass extends parentClass { extendMethod() { console.log('Hi'); } } new extendClass();
Передать дочерний элемент в родительский:
class parentClass { constructor(child = null) { child?.extendMethod(); } } class extendClass extends parentClass { extendMethod() { console.log('Hi'); } } new parentClass(new extendClass());
Создать интерфейс (базовый класс) и оба класса унаследовать от него:
class IBase { constructor() { this.extendMethod(); } extendMethod() { } } class A extends IBase { extendMethod() { console.log('Hi from A'); } } class B extends IBase { extendMethod() { console.log('Hi from B'); } }