Как вызвать метод из дочернего класса в родительском классе? <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'); } }