什麼是真正的實際使用'new' modifier的?成員隱藏,什麼是它的實際用途
public class Base
{
public void Say()
{
Console.WriteLine("Base");
}
}
public class Derived:Base
{
public new void Say()
{
Console.WriteLine("Derived");
}
}
如果這只是不能編譯,它會更好嗎?此代碼:
Derived d = new Derived();
d.Say();
((Base)d).Say();
返回
Derived
Base
這是否打破了里氏替換原則?
乾杯。
法律可以被打破或彎曲時,他們滿足現實世界 - http://en.wikipedia.org/wiki/Circle-ellipse_problem – Kami