Polymorphism/Overriding

Кто-нибудь может объяснить, в чем разница между этими двумя примерами?

Класс A

protected virtual string GetData()

Класс B

private override string GetData()

И следующее:

Класс A

protected string GetData()

Класс B

private string GetData()

Предполагая, что 'Класс B' наследует от 'Класса A'.

Я всегда предполагал, что нужно использовать virtual в суперклассе и override в подклассе, если вы хотите переопределить метод, однако я попробовал убрать ключевые слова, и программа скомпилировалась нормально. В чем именно заключается разница, если она есть?

5
задан Will Vousden 11 January 2012 в 23:37
поделиться