1. 程式人生 > >Rommel - C# 淺談 介面(Interface)的作用

Rommel - C# 淺談 介面(Interface)的作用

鑑於網上太多太多的對C# 介面的誤解,想來想去還是自己做一個完美的介面 篇章

繼承"基類"跟繼承"介面"都能實現某些相同的功能,但有些介面能夠完成的功能是隻用基類無法實現的 
1.介面用於描述一組類的公共方法/公共屬性. 它不實現任何的方法或屬性,只是告訴繼承它的類 《至少》要實現哪些功能,繼承它的類可以增加自己的方法. 
2.使用介面可以使繼承它的類: 命名統一/規範,易於維護.比如: 兩個類 "狗"和"貓",如果它們都繼承了介面"動物",其中動物裡面有個方法Behavior(),那麼狗和貓必須得實現Behavior()方法,並且都命名為Behavior這樣就不會出現命名太雜亂的現象.如果命名不是Behavior(),介面會約束即不按介面約束命名編譯不會通過. 
3.提供永遠的介面。 當類增加時,現有介面方法能夠滿足繼承類中的大多數方法,沒必要重新給新類設計一組方法,也節省了程式碼,提高了開發效率. 

父介面:

interface AnimalInterface
{
void Behavior(); //行為方法,描述各種動物的特性
}

 

子類1: 

class Cat:AnimalInterface
{
public void Behavior()
{
Console.WriteLine("我是小貓 我會貓叫");
Console.ReadKey();
}

}

子類2:

class Dog : AnimalInterface
{
public void Behavior()
{
    Console.WriteLine("我是dog 我會狗叫");
    Console.ReadKey();
}
}

 

 

ParentInterface pa=new ParentInterface();
pa.UseInterface(new Dog());