最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#簡(jiǎn)單了解接口(Interface)使用方法

 更新時(shí)間:2020年09月18日 11:50:19   作者:八英里  
這篇文章主要介紹了C#簡(jiǎn)單了解接口(Interface)使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

繼承"基類"跟繼承"接口"都能實(shí)現(xiàn)某些相同的功能,但有些接口能夠完成的功能是只用基類無(wú)法實(shí)現(xiàn)的

1.接口用于描述一組類的公共方法/公共屬性. 它不實(shí)現(xiàn)任何的方法或?qū)傩?,只是告訴繼承它的類 《至少》要實(shí)現(xiàn)哪些功能,繼承它的類可以增加自己的方法.

2.使用接口可以使繼承它的類: 命名統(tǒng)一/規(guī)范,易于維護(hù).比如: 兩個(gè)類 "狗"和"貓",如果它們都繼承了接口"動(dòng)物",其中動(dòng)物里面有個(gè)方法Behavior(),那么狗和貓必須得實(shí)現(xiàn)Behavior()方法,并且都命名為Behavior這樣就不會(huì)出現(xiàn)命名太雜亂的現(xiàn)象.如果命名不是Behavior(),接口會(huì)約束即不按接口約束命名編譯不會(huì)通過(guò).

3.提供永遠(yuǎn)的接口。 當(dāng)類增加時(shí),現(xiàn)有接口方法能夠滿足繼承類中的大多數(shù)方法,沒(méi)必要重新給新類設(shè)計(jì)一組方法,也節(jié)省了代碼,提高了開(kāi)發(fā)效率.

舉個(gè)代碼示例:

//公共接口: "動(dòng)物" 
public Interface IAnimal 
{ 
   int EyeNumber; 
   private void Behavior(); //行為方法,描述各種動(dòng)物的特性 
} 
//類: 狗 
public Dog : IAnimal 
{ 
   string ActiveTime = "白天"; 
   private void Behavior() 
   { 
      Console.Write("我晚上睡覺(jué),白天活動(dòng)"); 
   } 
}
//類: 貓 
public Cat: IAnimal 
{ 
   string ActiveTime = "夜晚"; 
    private void Behavior() 
    { 
         Console.Write("我白天睡覺(jué),晚上活動(dòng)"); 
    } 
} 
//簡(jiǎn)單的應(yīng)用: 
public static Main() 
{ 
    Dog myDog = new Dog(); 
    myDog.Behavior(); //輸出: "我晚上睡覺(jué),白天活動(dòng)" 
    Cat myCat = new Cat(); 
    myCat.Behavior(); //輸出: "我白天睡覺(jué),晚上活動(dòng)" 
}

以上調(diào)用不同的類的相同名方法,會(huì)輸出不同的東東,也就是說(shuō)每個(gè)類里面的同名方法完成的功能可以是完全不同的.

更進(jìn)一步,不是用上面Main方法這樣一個(gè)一個(gè)調(diào)用類的方法,用多態(tài)性實(shí)現(xiàn)其調(diào)用.

看一下下面這個(gè)方法:

public Behavior(IAnimal myIanimal) 
{ 
   myIanimal.Behavior(); 
}

其參數(shù)是<<接口類型>>,任何繼承它的類都可以調(diào)用此方法,此方法能根據(jù)類的不同調(diào)用不同的類中的方法. 也即能夠自己根據(jù)不同的類,完成不同的類的功能.

多態(tài)性代碼示例:

Dog myDog = new Dog();

Cat myCat = new Cat();

Behavior(myDog); //Behavior接受“狗”類實(shí)例

Behavior(myCat); //Behavior接受“狗”類實(shí)例

這樣Behavior方法寫一次就能完成所有繼承它的類中的相同名方法的不同功能. 非常方便,

同樣,由于“動(dòng)物軟件”功能需求,需要再增加一個(gè)"龜"類:

//類: 龜 
public Tortoise: IAnimal 
{ 
    string ActiveTime = "很難說(shuō)"; 
    private void Behavior() 
    { 
         Console.Write("我可以不活動(dòng),一睡就睡五千年!"); 
    } 
}

那么也可以調(diào)用上面多態(tài)方法,所以說(shuō)接口使方法具有較好擴(kuò)展性.如果繼承它的類很多的話,有多少好處是可想而知的!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#實(shí)現(xiàn)屬于自己的QQ截圖工具

    C#實(shí)現(xiàn)屬于自己的QQ截圖工具

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)屬于自己的QQ截圖工具的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • C#原生圖像處理實(shí)戰(zhàn)之濾波、銳化與邊緣檢測(cè)操作詳解

    C#原生圖像處理實(shí)戰(zhàn)之濾波、銳化與邊緣檢測(cè)操作詳解

    在 C# 開(kāi)發(fā)中,許多開(kāi)發(fā)者習(xí)慣借助 OpenCV進(jìn)行圖像處理,本文將帶你從零開(kāi)始,僅使用 System.Drawing實(shí)現(xiàn)三種經(jīng)典圖像處理算法,感興趣的小伙伴可以了解下
    2026-02-02
  • c# 空合并運(yùn)算符“??”的使用詳解

    c# 空合并運(yùn)算符“??”的使用詳解

    本篇文章是對(duì)c#中空合并運(yùn)算符“??”的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C#獲取存儲(chǔ)過(guò)程返回值和輸出參數(shù)值的方法

    C#獲取存儲(chǔ)過(guò)程返回值和輸出參數(shù)值的方法

    這篇文章主要介紹了C#獲取存儲(chǔ)過(guò)程返回值和輸出參數(shù)值的方法,有需要的朋友可以參考一下
    2014-01-01
  • unity android設(shè)備上查看log輸出方式

    unity android設(shè)備上查看log輸出方式

    這篇文章主要介紹了unity android設(shè)備上查看log輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • 使用C#實(shí)現(xiàn)Excel與DataTable互轉(zhuǎn)的方案

    使用C#實(shí)現(xiàn)Excel與DataTable互轉(zhuǎn)的方案

    在企業(yè)級(jí)開(kāi)發(fā)中,Excel文件與DataTable(數(shù)據(jù)表)的互轉(zhuǎn)是報(bào)表生成、數(shù)據(jù)遷移等場(chǎng)景的核心需求,傳統(tǒng)方案如OleDb或Office Interop存在內(nèi)存泄漏、性能低下等問(wèn)題,且依賴本地Office組件,所以本文給大家介紹了使用C#實(shí)現(xiàn)Excel與DataTable互轉(zhuǎn)的方案,需要的朋友可以參考下
    2025-08-08
  • C#中DataTable的創(chuàng)建與遍歷實(shí)現(xiàn)

    C#中DataTable的創(chuàng)建與遍歷實(shí)現(xiàn)

    這篇文章主要介紹了C#中DataTable的創(chuàng)建與遍歷實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 在C#中向PDF文件添加圖層的詳細(xì)步驟

    在C#中向PDF文件添加圖層的詳細(xì)步驟

    PDF 圖層,能夠讓文檔內(nèi)容按需顯示或隱藏,極大地提升了文檔的靈活性和交互性,而今天,我將帶你一步步探索,如何利用 C# 和一款高效的第三方庫(kù) Spire.PDF,輕松實(shí)現(xiàn) PDF 圖層的創(chuàng)建與管理,需要的朋友可以參考下
    2025-09-09
  • C#中使用快速排序按文件創(chuàng)建時(shí)間將文件排序的源碼

    C#中使用快速排序按文件創(chuàng)建時(shí)間將文件排序的源碼

    C#中使用快速排序按文件創(chuàng)建時(shí)間將文件排序的源碼...
    2007-03-03
  • C#如何通過(guò)QQ郵件發(fā)送驗(yàn)證碼到指定郵箱

    C#如何通過(guò)QQ郵件發(fā)送驗(yàn)證碼到指定郵箱

    在程序設(shè)計(jì)中發(fā)送驗(yàn)證碼是常見(jiàn)的一個(gè)功能,用戶在注冊(cè)賬號(hào)時(shí)或忘記密碼后通常需要發(fā)送驗(yàn)證碼到手機(jī)短信或郵箱來(lái)驗(yàn)證身份,這篇文章主要給大家介紹了關(guān)于C#如何通過(guò)QQ郵件發(fā)送驗(yàn)證碼到指定郵箱的相關(guān)資料,需要的朋友可以參考下
    2024-01-01

最新評(píng)論

湘阴县| 开远市| 铅山县| 道真| 沈阳市| 贡觉县| 鞍山市| 阿拉善盟| 禄丰县| 邵阳市| 新晃| 葫芦岛市| 云安县| 克什克腾旗| 敦化市| 遵义县| 博乐市| 彰化县| 富顺县| 茂名市| 康马县| 潢川县| 雷波县| 尤溪县| 邯郸县| 盐山县| 岐山县| 墨竹工卡县| 永和县| 安塞县| 始兴县| 延津县| 嘉善县| 应用必备| 修文县| 长治县| 武隆县| 武安市| 云和县| 新密市| 东乡|