引用自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;
}
}
區別:
- 隱式實現接口時,我們有兩種方式調用實現接口的方法(GetName()),即:
ICategory category=new Category();
category.GetName();
和
Category category=new Category();
categoty.GetName();
- 顯式實現接口時,我們只有一種方法來調用GetName(),即:
ICategory category=new Category();
category.GetName();
結論:
- 隱式實現接口時,接口和類(實現接口的類)都可以訪問類中的方法;
- 顯式實現接口時,只有通過接口來訪問類中的方法;
顯式優點:
1.隱藏了實現接口的類的實現代碼。