12.接口
C#中的接口和Java中的接口差不多,但是有更大的彈性。類可以隨意地顯式實現某個接口:
public interface ITeller
{
void Next ();
}
public interface IIterator
{
void Next ();
}
public class Clark : ITeller, IIterator
{
void ITeller.Next () {}
void IIterator.Next () {}
}
這給實現接口的類帶來了兩個好處。其一,一個類可以實現若干接口而不必擔心命名沖突問題。其二,如果某方法對一般用戶來說沒有用的話,類能夠隱藏該方法。顯式實現的方法的調用,需把類【譯注:應該是對象】造型轉換為接口:
Clark clark = new Clark();
((ITeller)clark).Next();