Как вызвать метод из дочернего класса в родительском классе?

Как вызвать метод из дочернего класса в родительском классе? <br/> <br/> <pre><code class="javascript">class parentClass {
  constructor() {
    this.extendMethod(); // ???
  }
}

class extendClass extends parentClass {
  extendMethod() {
    console.log('Hi');
  }
}

new parentClass();</code></pre>
  • 23 июня 2024 г. 9:01
Ответы на вопрос 2
Для вызова метода из дочернего класса в родительском классе можно использовать ключевое слово "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');
  }
}
Похожие вопросы