У меня есть родительский и дочерний класс в 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();
}
}