C 介面的顯示實現和隱示實現 public interface IReview { void GetReviews(); } public class ShopReview :IReview { public void GetReviews(){} } 這種方式是隱示實現: IReview rv = ...
C# 介面的顯示實現和隱示實現
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:在使用介面訪問的系統中,調用者只能通過介面調用而不是底層的類來訪問。