【发布时间】:2012-02-08 08:07:17
【问题描述】:
有人能解释一下这两个例子有什么区别吗?
A 类
protected virtual string GetData()B类
private override string GetData()
还有以下内容:
A 类
protected string GetData()B类
private string GetData()
假设“B 类”继承自“A 类”。
我一直认为如果你想覆盖一个方法,你需要在超类中使用virtual,在子类中使用override,但是我尝试删除关键字并且程序编译得很好。如果有的话,具体有什么区别?
【问题讨论】:
-
你看到 B.GetData() 下的波浪线了吗?您是否在查看 + 错误列表中看到警告?不容错过,当您知道自己在做什么时,请使用 new 关键字。
-
在第一个例子中 B 的方法不能是私有的。它不会编译。
标签: c# .net oop inheritance polymorphism