Наследование в C#: изменение возвращаемого типа — как исправить ошибку? abstract class ALauncher
{
protected abstract Object parseArgs(string[] args);
}
class Launcher : ALauncher
{
protected override ABitFileManager parseArgs(string[] args) {...}
}
Почему возникает ошибка наследования? Ведь ABitFileManager является наследником Object (как и любой другой класс)?

21 Авг 2019 в 07:09
195 +1
0
Ответы
1

Ошибка возникает потому, что выражение "protected override ABitFileManager parseArgs(string[] args)" означает, что метод parseArgs должен возвращать тип ABitFileManager, который является подклассом Object, но в данном случае он должен быть эквивалентен типу возвращаемого значения в методе базового класса.

Чтобы исправить ошибку, нужно изменить тип возвращаемого значения метода parseArgs в дочернем классе на Object:

class Launcher : ALauncher
{
protected override Object parseArgs(string[] args) {...}
}

Таким образом, тип возвращаемого значения в классе Launcher будет соответствовать типу возвращаемого значения в абстрактном классе ALauncher, что исправит ошибку наследования.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 706 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир