Вызов родительской функции от дочернего с другим именем функции Typescript - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть родительский и дочерний класс в Typescript. Дочерний объект расширяет родительский и переопределяет метод makeSound (). У ребенка также есть метод makeSoundSuper (), который будет вызывать super.makeSound (). Я ожидал, что это вызовет родительский метод makeSound. Я получаю сообщение об ошибке из-за того, что у родителя нет метода makeSoundSuper (), он содержит только makeSound ()?

Должен ли родительский класс иметь одинаковое имя метода для вызова из дочернего класса?

Я могу создать метод superMakeSound () в родительском файле и заставить его работать. Кажется странным, что имена методов должны быть одинаковыми, даже если фактический вызов родителя super.makeSound ();

public class Animal
{

public makeSound()
{
     return 5;
}

}


class Dog extends Animal{

public makeSound(): number
{
    return 10;
}

public makeSoundSuper(): number
{
     return super.makeSound();
}

}

...