Кто-нибудь может объяснить, в чем разница между этими двумя примерами?
Класс A
protected virtual string GetData()
Класс B
private override string GetData()
И следующее:
Класс A
protected string GetData()
Класс B
private string GetData()
Предполагая, что 'Класс B' наследует от 'Класса A'.
Я всегда предполагал, что нужно использовать virtual
в суперклассе и override
в подклассе, если вы хотите переопределить метод, однако я попробовал убрать ключевые слова, и программа скомпилировалась нормально. В чем именно заключается разница, если она есть?