Задать вопрос
@Xveeder

Правильное использование virtual, override, new?

Доброго времени суток, товарищи. К делу.
При проектировании класса мы не всегда знаем, какие методы нам придётся в будущем переопределять. Значит ли это, что все методы следует делать виртуальными? Или можно обойтись new, для переопределения.

Про контекст применения new и override я знаю. Но мне кажется, в основном корректнее использовать override, ведь он ведёт себя более ожидаемо.
  • Вопрос задан
  • 150 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
@kttotto
пофиг на чем писать
Значит ли это, что все методы следует делать виртуальными?

Нет, не значит. Если разрешить переопределять все, то можно логику поломать. А если Вы пишите библиотеку и разрешите все и вся менять? Переопределять можно разрешать в местах, где используется стратегия: где есть обобщенный класс и наследуемые классы могут реализовывать собственную логику.
Если вдруг, в процессе разработки, возникнет необходимость разрешить переопределение, то дописать override недолго.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы