欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

舉個代碼示例:

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

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

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

看一下下面這個方法:

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接受“狗”類實例

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

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

同樣,由于“動物軟件”功能需求,需要再增加一個"龜"類:

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

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C#遞歸算法之快速排序

    C#遞歸算法之快速排序

    快速排序由C.A.R發(fā)明,它依據(jù)中心元素的值,利用一系列遞歸調(diào)用將數(shù)據(jù)表劃分成越來越小的子表。在每一步調(diào)用中,經(jīng)過多次的交換,最終為中心元素找到最終的位置。
    2016-06-06
  • C#中方括號[]的語法及作用介紹

    C#中方括號[]的語法及作用介紹

    C#中方括號[]可用于數(shù)組,索引、屬性,更重要的是用于外部DLL類庫的引用。
    2013-04-04
  • C#實現(xiàn)餐飲管理系統(tǒng)完整版

    C#實現(xiàn)餐飲管理系統(tǒng)完整版

    這篇文章主要為大家詳細介紹了C#實現(xiàn)餐飲管理系統(tǒng)的完整版,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C#判斷密碼強度的方法

    C#判斷密碼強度的方法

    這篇文章主要介紹了C#判斷密碼強度的方法,較為詳細的分析了C#判斷密碼強度的原理與實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • OpenXml合并Table單元格代碼實例

    OpenXml合并Table單元格代碼實例

    在本篇文章里小編給大家整理了關于OpenXml合并Table單元格的相關實例詳解,需要的朋友們參考下。
    2019-08-08
  • C#迷你猜數(shù)實例分析

    C#迷你猜數(shù)實例分析

    這篇文章主要介紹了C#迷你猜數(shù),實例分析C#操作數(shù)字及數(shù)組的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • C#使用AnimateWindow()實現(xiàn)動畫窗體的方法

    C#使用AnimateWindow()實現(xiàn)動畫窗體的方法

    用API函數(shù)AnimateWindow函數(shù)來實現(xiàn)窗體的動畫效果,在C#中,你可以使用P/Invoke技術調(diào)用Windows API中的AnimateWindow函數(shù)來實現(xiàn)動畫窗體,本文就給大家介紹了C#使用AnimateWindow()實現(xiàn)動畫窗體的方法,感興趣的朋友可以參考下
    2024-04-04
  • 關于C#中yield?return用法的思考

    關于C#中yield?return用法的思考

    在這篇文章中,我們將深入討論?C#?中yield?return的機制和用法,幫助您更好地理解這個強大的功能,并在實際開發(fā)中靈活使用它,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-05-05
  • C# 從枚舉值獲取對應的文本描述詳解

    C# 從枚舉值獲取對應的文本描述詳解

    這篇文章主要介紹了C# 從枚舉值獲取對應的文本描述詳解的相關資料,需要的朋友可以參考下
    2017-01-01
  • 利用C#代碼將html樣式文件與Word文檔互換的方法

    利用C#代碼將html樣式文件與Word文檔互換的方法

    這篇文章主要給大家介紹了關于利用C#代碼將html樣式文件與Word文檔互換的方法,文中通過示例代碼將兩種轉(zhuǎn)換介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-11-11

最新評論