顯式實現接口與隱式實現接口的區別

引用自https://www.cnblogs.com/taomylife/p/4828453.html
先定義一個接口:

public Interface ICategory
{
      string GetName();
}

接着實現上面定義的接口:

public class Category:ICategory
{
      public string GetName()
       {
              return name;
       }
}

以上的方式是隱式的實現接口(我們默認的都是使用隱式的接口)
顯式的實現接口方式:

public class Category:ICategory
{
       public string  ICategory.GetName()
        {
               return name;
        }
}

區別:

  1. 隱式實現接口時,我們有兩種方式調用實現接口的方法(GetName()),即:
ICategory category=new Category();
category.GetName();

Category category=new Category();
categoty.GetName();
  1. 顯式實現接口時,我們只有一種方法來調用GetName(),即:
ICategory category=new Category();

category.GetName();

結論:

  1. 隱式實現接口時,接口和類(實現接口的類)都可以訪問類中的方法;
  2. 顯式實現接口時,只有通過接口來訪問類中的方法;

顯式優點:

1.隱藏了實現接口的類的實現代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章