在C#中,多態是指在不同對象上使用相同的方法或操作時,會產生不同的行為。以下是一個使用多態的簡單示例:
using System;
public class Animal
{
public virtual void MakeSound()
{
Console.WriteLine("我是一隻動物!");
}
}
public class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("汪汪!");
}
}
public class Cat : Animal
{
public override void MakeSound()
{
Console.WriteLine("喵喵!");
}
}
public class Program
{
public static void Main()
{
Animal animal = new Animal();
animal.MakeSound();
Animal dog = new Dog();
dog.MakeSound();
Animal cat = new Cat();
cat.MakeSound();
}
}
在這個例子中,我們定義了一個基礎的Animal類,並添加了一個MakeSound方法,該方法用於輸出動物的聲音。然後,我們創建了兩個繼承自Animal類的子類Dog和Cat,並重寫了MakeSound方法,以便可以輸出狗和貓的聲音。
在Program類中,我們創建了一個Animal對象,然後分別創建了一個Dog對象和一個Cat對象。通過將這些對象存儲在Animal類型的變量中,我們可以調用MakeSound方法,這將導致不同的行為。具體來說,animal.MakeSound()將輸出“我是一隻動物!”,dog.MakeSound()將輸出“汪汪!”,cat.MakeSound()將輸出“喵喵!”。
這個例子展示了多態的概念:不同的對象對同一個方法進行不同的實現,從而產生不同的行為。通過多態,我們可以編寫更具有靈活性和可重用性的代碼,並使代碼更易於維護和擴展。