C# 淺談接口的優勢


總結了一下接口的小優勢,可以便於新手理解為什么要用接口,用接口有什么好處。

1.接口的定義:

關鍵字:interface,接口名一般大寫I開頭,接口中定義方法,但是不實現方法

interface IBark{

  void Bark();

}

 

2.實現接口:

父類名在前,接口名在后,只能繼承一個父類,可以實現多個

interface IBark
{
    void Bark();//接口中字段和方法默認為public
}

class Dog: IBark
{
    public Dog{

    }
  
    public void Bark()// 方法聲明必須和接口中的保持一致
    {
        Console.WriteLine("汪汪");
    }
}

這時我們實例化一個dog

Dog wangcai = new Dog();

wangcai.Brak();

旺財就會汪汪了。

 

之前我也不明白為什么不直接在Dog類中聲明Bark的方法,IBark接口中並沒有具體的方法,還省略了接口,沒有理解接口的作用。

還有人是這樣說的:從接口的定義方面來說,接口其實就是類和類之間的一種協定,一種約束。還拿上面的例子來說,所有繼承了IBark接口的類中必需實現 Bark()方法,那么從用戶(使用類的用戶)的角度來說,如果他知道了某個類是繼承於IBark接口,那么他就可以放心大膽的調用Bark()方法,而不用管Bark()方法具體是如何實現的。比如,我們另外寫了一個類。

把上面的那個例子擴展,現在需要寫一個貓的類。

public class Cat : IBark
{
    public Cat()
    {

    }
    public void Bark()
    {
        Console.WriteLine("喵喵");
    }

總結:  

  我們在寫貓的類的時候,繼承了IBark接口,知道貓類中肯定會有一個Bark方法需要我們去實現。接口的優勢在多個類中就體現出來了。如果一個項目,需要些貓、狗、雞、鴨、多個類,又是由多個人來寫,這些類都需要實現一個Bark的方法,我們就可以使用IBark接口,加強他們之間的約束,方便統一管理也方便調用。

  而且如果一個項目中,有c,有c++、JAVA、C#的程序員的時候,使用接口,擴充性特別好。

 


免責聲明!

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



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