在 C# 中,方法隱藏(也稱為方法重載或方法覆蓋)是指在派生類中重新定義與基類中名稱相同但參數列表不同的方法。這樣,當使用派生類對象調用該方法時,將執行派生類中的版本,而不是基類中的版本。請注意,這里的方法隱藏與繼承無關,而是與重載有關。
以下是一個 C# 示例,演示了如何在派生類中實現方法隱藏:
using System;
// 基類
public class BaseClass
{
public void PrintMessage(string message)
{
Console.WriteLine("Base Class: " + message);
}
}
// 派生類
public class DerivedClass : BaseClass
{
// 方法隱藏:重新定義基類的 PrintMessage 方法,參數列表不同
public void PrintMessage(int number)
{
Console.WriteLine("Derived Class: Message is " + number);
}
}
public class Program
{
public static void Main()
{
BaseClass baseObj = new DerivedClass();
baseObj.PrintMessage("Hello, World!"); // 輸出:Base Class: Hello, World!
DerivedClass derivedObj = new DerivedClass();
derivedObj.PrintMessage(42); // 輸出:Derived Class: Message is 42
}
}
在這個示例中,DerivedClass
重載了 BaseClass
中的 PrintMessage
方法,使其接受一個整數參數。當我們使用 BaseClass
對象調用 PrintMessage
方法時,將執行基類中的版本。但是,當我們使用 DerivedClass
對象調用 PrintMessage
方法時,將執行派生類中的版本。