49.C#--多態之抽象類
阿新 • • 發佈:2019-05-17
[] 調用 允許 code 類對象 () ima 方法 一個 static void Main(string[] args)
{
//抽象類例子:狗狗會叫,貓咪也會叫
//實現多態,抽象類不能創建父類對象,所以只能指向子類
//調用狗狗會叫的方法,創建一個子類對象賦值給父類
Animal a = new Dog();
//a雖然表現出來的是父類對象,但父類被子類重寫了,所以最終輸出的子類的方法
//具體調哪個函數,取決於a裝的是哪個子類的對象
a.Bark();
////調用貓咪會叫的方法
//Animal a = new Cat();
//a.Bark();
{
//抽象類例子:狗狗會叫,貓咪也會叫
//實現多態,抽象類不能創建父類對象,所以只能指向子類
//調用狗狗會叫的方法,創建一個子類對象賦值給父類
Animal a = new Dog();
//a雖然表現出來的是父類對象,但父類被子類重寫了,所以最終輸出的子類的方法
//具體調哪個函數,取決於a裝的是哪個子類的對象
a.Bark();
////調用貓咪會叫的方法
//Animal a = new Cat();
//a.Bark();
Console.ReadKey(); } //當父類中的函數不知道怎麽實現的時候,可以將這個類寫成抽象類,方法寫成抽象方法 public abstract class Animal { //註意:抽象方法是不允許有方法體的 //寫成抽象方法主要是不知道怎麽實現叫這個函數 //抽象類存在意義是讓子類重寫,實現多態 public abstract void Bark(); } //創建狗狗抽象類子類,並重寫父類 public class Dog : Animal { public override void Bark() { Console.WriteLine("狗狗汪汪叫!"); } } //創建貓咪抽象類子類,並重寫父類 public class Cat : Animal { public override void Bark() { Console.WriteLine("貓咪喵喵叫!"); } }
49.C#--多態之抽象類