2010年5月18日 星期二

何謂介面。

Interface(介面)。怎麼來說這個東西呢?理解它前不知道怎麼用,理解它之後就會了解它是這麼偉大的一個東西(有這麼神嗎?= =)。

ps..以下程式碼因為小弟在寫時手邊剛好沒有VS,而且有一段時間沒寫VB.net了,所以若有錯誤請多多包涵。

介面,可以視為一張入場券。一張有條件的入場券。

ex:
定義一介面。
public interface MyInterFace
     property Name as string
end InterFace

另一個類別中有一個函式。

public sub ShowName(byvalue value as MyInterFace )
     messagebox(value.Name)
end sub

這個函式表示,任類別只要繼承 MyInterFace介面並實作它,都可以進入這個函式。
當然,會需要使用到介面的函式不會這麼簡單,這裡只是舉例而已。
接下來來示範實作方式。

public class MyClassA
   implement MyInterFace

   private _Name as string
   public property Name as string  //這裡是屬於介面實作的部份。
      get
         return me._Name
      end get
      set
         me._Name = value
      end set
   end Property
end Class

以上只是其中一種實作方式,若可以你愛怎麼作就可以怎麼作。
當然,你實作的行為必須符合介面的製作要點。

由此可見,若您製作了一個很棒的函式。而這個函式的參數只要具備特定的行為就可以進入函式。
你就可以將參數定義成介面,公開這個合約讓想要使用這個函式的使用者來實作,但是同時
就必須要先寫好實作的定義。才不會讓使用者無所適從。

另一篇也是針對介面實作的範例。
針對Array實作自訂的排序

沒有留言:

張貼留言