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

C# 繼承基礎:基本繼承、覆寫與虛擬方法入門

     編輯:關於C語言

基本繼承

衍生類別自動擁有基底類別非私有成員:


class Parent { public void Msg() => Console.WriteLine("Parent"); }
class Child : Parent { } // 繼承 Msg

var p = new Parent(); p.Msg(); // Parent
var c = new Child();  c.Msg(); // Parent (繼承而來)

覆寫

基底 `virtual` + 衍生 `override` 修改行為:


class Parent { public virtual void Msg() => Console.WriteLine("Parent"); }
class Child : Parent { public override void Msg() => Console.WriteLine("Child"); }

var p = new Parent(); p.Msg(); // Parent
var c = new Child();  c.Msg(); // Child

關鍵規則

  • 只有 `virtual`/`abstract` 成員可被 `override`
  • `override` 成員隱含 `virtual`,可繼續被下層覆寫
  • `sealed override` 封鎖繼續覆寫
  • 建構函式、靜態方法、運算子**不可**虛擬/覆寫

基底成員存取


class Child : Parent
{
    public override void Msg()
    {
        base.Msg(); // 呼叫基底實作
        Console.WriteLine("Child");
    }
}

繼承 vs 介面

繼承介面
單一繼承多重實作
共享程式碼 (欄位/方法)僅契約
強耦合 (is-a)鬆散耦合 (can-do)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved