Top.Mail.Ru
Ответы
Аватар пользователя

kirieshkins

Kirieshkins
подписчиков

Значения кармы
мнения
знания
истории
Объясните пожалуйста понятным языком для чего нужны virtual и override в c#?

Все говорят что это переопределение методов. Но в ходе моих тестов это вообще не выглядит как переопределение. Все равно вызывается метод из дочернего класса. Сам по себе навязывается вопрос: в чем проблема просто создать отдельный метод? Ну например в базовом классе есть метод выводящий строку «я машина и я быстро еду», а в дочернем идет «переопределение» этого метода, и теперь он выводит «я машина и я очень быстро еду». И если вызвать этот метод из дочернего класса который как бы «переопределяет», то вызовется как раз метод из дочернего класса со своими функционалом, а не метод базового класса с измененным функционалом. Тогда по сути это теряет вообще какой либо смысл, потому что зачем морочиться со всякими переопределениями, если можно убрать эти два модификатора, изменить название и отличий вообще не будет. Я вообще ничего не понимаю, объясните пожалуйста