
圖例說明:
new關鍵字)virtual/override)在VS中使用重構→重命名(F2)**修改方法名,觀察重命名範圍:
new/sealed)重命名自動停止。this按當前代碼上下文解析為對應類型引用,再按虛函數解析規則:
class C : B
{
public override void Foo1()
{
this.Foo2(); // 在 D 實例上調用時,解析到 D.Foo2()
}
}
class D : C
{
public override sealed void Foo2() { }
}
外部調用D.Foo1() → 執行C.Foo1() → 內部this.Foo2()解析到D.Foo2()(多態)。
override方法中擴展基類邏輯:base.Foo(); // 先執行基類邏輯委托調用時,目標方法仍按上述虛函數解析規則執行,保證多態行為一致性。
Foo/Bar/Baz源自計算機科學經典元語法變量命名傳統(MIT/DEC hacker文化),表示「無具體業務含義的佔位符名稱」。