В TypeScript, чтобы вызвать метод родителя, который класс наследует от другого класса, вы можете использовать ключевое слово super
. Ключевое слово super
используется для обращения к методам и свойствам родительского класса.
Прежде всего, необходимо убедиться, что класс, который пытается вызвать метод родителя, наследует от этого родительского класса. Давайте рассмотрим пример:
class Parent { greet() { console.log("Hello from Parent"); } } class Child extends Parent { greet() { // Вызываем метод родителя с помощью super super.greet(); console.log("Hello from Child"); } } const child = new Child(); child.greet();
В этом примере у нас есть родительский класс Parent
и дочерний класс Child
, который наследует от родителя. В классе Child
мы переопределяем метод greet()
и вызываем super.greet()
для вызова метода родителя.
При выполнении этого кода консоль выведет:
Hello from Parent Hello from Child
Также следует отметить, что super
можно использовать не только для вызова методов, но и для доступа к свойствам родительского класса. Например:
class Parent { name: string; constructor(name: string) { this.name = name; } } class Child extends Parent { greet() { console.log(`Hello, my name is ${this.name}`); } } const child = new Child("Alice"); child.greet();
В этом примере у родительского класса Parent
есть свойство name
, и мы используем super()
в дочернем классе Child
для передачи значения имени родителю. Затем в методе greet()
дочернего класса мы можем обратиться к свойству name
через this.name
.
При выполнении этого кода консоль выведет:
Hello, my name is Alice
Таким образом, ключевое слово super
позволяет вызывать методы и получать доступ к свойствам родительского класса в TypeScript.