接口的實現很多人都知道,但接口的實現方式分顯示實現和隱示實現不知道是不是很多人知道呢!但我覺的公司技術部裡很少提到這個,就想起來寫寫這篇blogs。 目前常用的方式:
public interface IReview
{
void GetReviews();
}
public class ShopReview :IReview
{
public void GetReviews(){}
}
這種方式是隱示實現:
IReview rv = new ShopReview();
rv.GetReviews();
ShopReview rv = new ShopReview();
rv.GetReviews();
都可以調用GetReviews這個方法。
還有一種方式是顯示實現
public interface IReview
{
void GetReviews();
}
public class ShopReview :IReview
{
void IReview.GetReviews(){}
}
通過這種方式的接口實現。
GetReviews就只能通過接口來調用:
IReview rv = new ShopReview();
rv.GetReviews();
下面的這種方式將會編譯錯誤:
ShopReview rv = new ShopReview();
rv.GetReviews();
結論: 隱示實現接口和類都可以訪問 顯示實現只有接口可以訪問。
顯示實現益處
1:隱藏代碼的實現
2:在使用接口訪問的系統中,調用者只能通過接口調用而不是底層的類來訪問。 PS:可以運用到公司目前的接口+Sevice架構的系統中。避免我們總是要求大家一定要通過接口訪問。因為現在不用接口訪問也不行了。