動(dòng)態(tài)多態(tài)性,代碼設(shè)計(jì)結(jié)構(gòu)

*里氏替換原則實(shí)現(xiàn)方法:子類(lèi)可以出現(xiàn)在任何父類(lèi)

?*?

?* 動(dòng)態(tài)多動(dòng)性:

?* 1.虛方法的多態(tài)

?* 2.抽象方法的多態(tài)

?* 3.接口方法的動(dòng)態(tài)多動(dòng)性

?*?

?* 動(dòng)態(tài)多動(dòng)性的作用:

?* 1.實(shí)現(xiàn)功能定義與功能實(shí)現(xiàn)香脫離,實(shí)現(xiàn)代碼進(jìn)一步靈活性

?* 2.實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)與系統(tǒng)代碼想脫離,實(shí)現(xiàn)代碼穩(wěn)定性,減少系統(tǒng)BUG

?*?

class Person

{

public virtual void Speak(){

Console.WriteLine("父類(lèi)說(shuō)");

}

}


class Zhang:Person

{

public override void Speak ()

{

Console.WriteLine("張說(shuō)");

}

}


interface IPerson

{

void Speak ();

}

interface IPersontwo

{

void Speak ();

}

class Chinese:IPerson,IPersontwo

{

void IPerson.Speak()

{

Console.WriteLine ("中國(guó)人說(shuō)中國(guó)話(huà)");

}

void IPersontwo.Speak()

{

Console.WriteLine ("中國(guó)人還會(huì)說(shuō)英語(yǔ)");

}

}

class MainClass

{

public static void Main (string[] args)

{

Person p = new Zhang ();

p.Speak ();


//動(dòng)態(tài)多態(tài)性之接口

Chinese c=new Chinese();

((IPerson)c).Speak ();

IPerson ip = new Chinese ();

ip.Speak ();

IPersontwo ip2 = new Chinese ();

ip2.Speak ();

}

}

代碼設(shè)計(jì)結(jié)構(gòu)

//代表發(fā)郵件的功能

interface IEmailSender

{

void Send(Customer customer);

}


abstract class Customer:IEmailSender

{

public string name;

public string eamil;

abstract public void Send(Customer customer);

}


class CommonCustomer:Customer

{

public override void Send(Customer customer){

Console.WriteLine("普通用戶(hù)發(fā)郵件" + customer.name);

}

}


class VipCustomer:Customer

{

public override void Send(Customer customer){

Console.WriteLine("vip用戶(hù)發(fā)郵件" + customer.name);

}

}


class MainClass

{

public static void Main (string[] args)

{

//創(chuàng)建普通用戶(hù)

CommonCustomer cc = new CommonCustomer();

cc.name = "普通用戶(hù)A";

cc.Send (cc);


//創(chuàng)建vip

VipCustomer vc = new VipCustomer();

vc.name = "Vip用戶(hù)";

vc.Send (vc);

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評(píng)論 18 139
  • **2014真題Directions:Read the following text. Choose the be...
    又是夜半驚坐起閱讀 9,880評(píng)論 0 23
  • List list(表)繼承Collection(集合)接口,主要有Arraylist,LinkedList和Ve...
    fredal閱讀 1,829評(píng)論 2 17
  • 《嘉興小傳》 軍之小外甥,姓高,名嘉興,字小帥,生于保德,長(zhǎng)于保德,現(xiàn)年四歲,幼時(shí)聰明,古靈精怪,上躥下跳,常致家...
    馬二軍閱讀 322評(píng)論 0 0
  • 人情、臉面、孝道、緣分這幾個(gè)概念在中國(guó)人日常生活中廣泛、頻繁地應(yīng)用。這些概念不能單純地將它們與西方人的human ...
    大碗排骨湯閱讀 496評(píng)論 0 3