Как вызвать метод из дочернего класса в родительском классе? <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`.
Создать объект дочернего класса: <br/> <pre><code class="javascript">class parentClass {
constructor() {
this.extendMethod();
}
}
class extendClass extends parentClass {
extendMethod() {
console.log('Hi');
}
}
new extendClass();</code></pre> <br/> <br/> Передать дочерний элемент в родительский: <br/> <pre><code class="javascript">class parentClass {
constructor(child = null) {
child?.extendMethod();
}
}
class extendClass extends parentClass {
extendMethod() {
console.log('Hi');
}
}
new parentClass(new extendClass());</code></pre> <br/> <br/> Создать интерфейс (базовый класс) и оба класса унаследовать от него: <br/> <pre><code class="javascript">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');
}
}</code></pre>