物件導向:多態;

來源:互聯網
上載者:User

標籤:

(強型別,如C#,裡面能多態,弱類型,如js,裡面不能多態)
分為兩種:1.編譯多態,比如函數重載

2.運行多態,
概念:當父類引用指向子類執行個體的時候,由於子類對父類的方法進行了重寫,在調用該方法的時候表現出的不同就稱為多態。

關鍵字:virtual --虛方法
override--重寫(對父類的虛方法進行重寫)

條件:必須要有繼承,父類引用指向子類執行個體,子類必須對父類的方法進行重寫

裡氏代換原則:
如果有一個地方需要使用到父類對象,那麼你可以將一個子類對象給他。
static void Main(string[] args)
{
DongWu dw = new Cat();

Dog d = new Dog();
China c = new China();

Console.WriteLine(ChiRen(c));
Console.ReadLine();
}

public static string CeShi(DongWu d)
{
return "ok";
}

public static string ChiRen(Ren r)
{
return "人類真好吃";
}
}


//partial class Ren
//{
// private string name;

// public string Name
// {
// get { return name; }
// set { name = value; }
// }
//}

class DongWu
{
public virtual string Eat() //虛方法
{
return "該動物在吃飯";
}
}
class Dog:DongWu
{
public override string Eat() //重寫
{
return "狗正在吃骨頭";
}
}
class Cat : DongWu
{
public override string Eat()
{
return "貓正在吃魚";
}
}


class Ren
{
}

class China : Ren
{
}

物件導向:多態;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.