首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 繼承機制(二):隱藏成員、new 關鍵字關閉警告、Car 隱藏 Vehicle.Speak 範例與 new/override 衝突規則

     編輯:關於C語言

隱藏:衍生類別宣告與繼承成員同名新成員,編譯器給出警告(非錯誤)。

關閉警告

在隱藏成員加 new 修飾詞,明確表達隱藏意圖:


class Car : Vehicle {
    public new void Speak() => Console.WriteLine("Di-di!");
}

範例驗證


Vehicle v = new Vehicle(); v.Speak(); // "Vehicle speaking!"
Car c = new Car(); c.Speak();         // "Di-di!"
Vehicle v2 = new Car(); v2.Speak();   // "Vehicle speaking!" (非虛擬,靜態繫結)

new/override 衝突規則

  • 同一成員同時加 new 和 override → 編譯錯誤。
  • 加了 new 但實際未隱藏任何成員 → 編譯警告。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved