C# 淺談 接口(Interface)的作用


C# 淺談 接口(Interface)的作用

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

 

1.接口用於描述一組類的公共方法/公共屬性. 它不實現任何的方法或屬性,只是告訴繼承它的類 《至少》要實現哪些功能,繼承它的類可以增加自己的方法

 

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

 

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

 

舉個代碼示例

 

//公共接口: "動物

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方法這樣一個一個調用類的方法,用多態性實現其調用

 

看一下下面這個方法

 

public Behavior(IAnimal myIanimal) 

       myIanimal.Behavior(); 

}

 

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

 

多態性代碼示例

 

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("我可以不活動,一睡就睡五千年!"); 

       } 

}

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM