是否可以在以下示例中覆蓋Filter2類中的BaseFilter.Type值?覆蓋第二個子類中的基類值
void Main()
{
BaseFilter abc = new Filter2();
Console.WriteLine(abc.Type);
Filter1 d = new Filter2();
Console.WriteLine(d.Type);
Filter2 e = new Filter2();
Console.WriteLine(e.Type);
}
// Define other methods and classes here
public class BaseFilter
{
public virtual string Type { get { return "ABC"; } }
}
public class Filter1 : BaseFilter
{
public new virtual string Type { get { return "DEF"; } }
}
public class Filter2 : Filter1
{
public override string Type { get { return "X"; } }
}
在某種意義上,從上面的例子中,我想看看,如果「abc.Type」可以返回值「X」。但是,我不想從Filter1類中刪除「新」關鍵字。
所以,這裏是最後的期望值
- 過濾器1類不應該覆蓋從BaseFilter類值。
- 但是,Filter2類應該覆蓋BaseFilter和Filter1中的值。
OOPS語言可以嗎?
用'new'關鍵字遮蔽,幾乎總是一個壞主意。 – Enigmativity