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

C#接口(Interface)用法分析

 更新時間:2015年03月30日 15:58:11   作者:樂樂010  
這篇文章主要介紹了C#接口(Interface)用法,較為詳細的分析了C#中接口的功能、實現(xiàn)及使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例分析了C#接口(Interface)用法。分享給大家供大家參考。具體分析如下:

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

1.接口用于描述一組類的公共方法/公共屬性. 它不實現(xiàn)任何的方法或屬性,只是告訴繼承它的類至少要實現(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(); //輸出: "我白天睡覺,晚上活動"
}

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

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

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

其參數(shù)是<<接口類型>>,任何繼承它的類都可以調用此方法,此方法能根據(jù)類的不同調用不同的類中的方法. 也即能夠自己根據(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("我可以不活動,一睡就睡五千年!");
}
}

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

另外, 也有抽象類能夠實現(xiàn)但接口不能實現(xiàn)的情況:

1. 在抽象類中可以加代碼邏輯,但接口不能.

2. 如果要在接口中增加一個方法, 所有實現(xiàn)它的類都強制重載一遍此方法, 如果重載類很多時, 會增大工作量.

總之, 一般在僅實現(xiàn)單繼承用途時, 盡量用抽象類, 功能也更強些!

希望本文所述對大家的C#程序設計有所幫助。

相關文章

  • C#實現(xiàn)XSL轉換的方法

    C#實現(xiàn)XSL轉換的方法

    這篇文章主要介紹了C#實現(xiàn)XSL轉換的方法,結合實例分析了C#執(zhí)行XSL轉換XML的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • C#實現(xiàn)倒計時關閉提示框功能

    C#實現(xiàn)倒計時關閉提示框功能

    最近小編接到一個功能需要實現(xiàn)一個提示框并且能自動關閉的,看到這個需求真是懵了,四處搜集資料才搞定,接下來通過本文給大家分享C#實現(xiàn)倒計時關閉提示框功能,感興趣的朋友跟隨小編一起看看吧
    2019-07-07
  • 淺析C# 委托(Delegate)

    淺析C# 委托(Delegate)

    這篇文章主要介紹了C# 委托(Delegate)的相關資料,文中講解非常詳細,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • c# 線程安全隊列的用法原理及使用示例

    c# 線程安全隊列的用法原理及使用示例

    這篇文章主要介紹了c# 線程安全隊列的用法原理及使用示例,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-11-11
  • C#調用dll報錯:無法加載dll,找不到指定模塊的解決

    C#調用dll報錯:無法加載dll,找不到指定模塊的解決

    這篇文章主要介紹了C#調用dll報錯:無法加載dll,找不到指定模塊的解決問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C#為配置文件加密的實現(xiàn)方法

    C#為配置文件加密的實現(xiàn)方法

    這篇文章主要介紹了C#為配置文件加密的實現(xiàn)方法,可實現(xiàn)對配置文件中的敏感信息進行加密,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • C#簡單實現(xiàn)文件上傳功能

    C#簡單實現(xiàn)文件上傳功能

    這篇文章主要介紹了C#簡單實現(xiàn)文件上傳功能,利用MVC+EF+LigerUI 實現(xiàn)的upload上傳功能,感興趣的小伙伴們可以參考一下
    2016-03-03
  • C#中AS和IS關鍵字的用法

    C#中AS和IS關鍵字的用法

    這篇文章主要介紹了C#中AS和IS關鍵字的用法的相關資料,需要的朋友可以參考下
    2016-03-03
  • 基于C#動手實現(xiàn)網(wǎng)絡服務器Web Server

    基于C#動手實現(xiàn)網(wǎng)絡服務器Web Server

    這篇文章主要為大家詳細介紹了基于C#動手實現(xiàn)網(wǎng)絡服務器Web Server,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 時間戳與時間相互轉換(php .net精確到毫秒)

    時間戳與時間相互轉換(php .net精確到毫秒)

    本文給大家分享的時間戳與時間相互轉換(php .net精確到毫秒) ,感興趣的朋友一起學習吧
    2015-09-09

最新評論

株洲市| 贡觉县| 黄龙县| 楚雄市| 义乌市| 卢湾区| 黑山县| 华亭县| 原平市| 祁连县| 当雄县| 赫章县| 永川市| 荔浦县| 福清市| 彭泽县| 方正县| 治多县| 金山区| 汝阳县| 施秉县| 达拉特旗| 山阳县| 陇川县| 丹棱县| 镇赉县| 聊城市| 托克逊县| 奎屯市| 栖霞市| 汉阴县| 左云县| 陇川县| 从江县| 陆河县| 岚皋县| 新津县| 西吉县| 五华县| 望江县| 赣州市|