| 
 
 
 
 詳細的程式碼駐解,在程式碼上寫上,...嗯...駐解的字數也不少@@
 
 不過倒是想在這裡談談VB裡面的 Enum(列舉),Interface(介面),MustInherit(抽象類別)
 
 一想到要編寫 不同的綠色拼圖 的程式碼,就會立即想到,他們會是一大堆同樣性質,但細節不同的型別(又不可以說是物件object)
 直覺判斷,要開始考慮此三項東西。畢竟我未曾把他們派上用場,都只是由教學書認識他們。
 
 
 
 列舉(Enum) 是什麼呢?給我的趕腳就是一個集合,是一堆整數的集合。要存取資訊,就得要輸入字串,但是輸出,永遠都是數值,別無他選。唉!!!!!!!!???? 難道我所想象的拼圖單靠數值就能夠表示得到出來!?真是嗎......
 .JPG) 到底要有如處理方法......再想下去就一額汗.....
  
 
 介面(Interface)........唉呀.....其實我最搞不懂就是這個......
 .jpg) 據教本說明,介面就類似一份合同,上面規定著  去實作此介面的型別(簽署者)必須具有何等屬性﹑方法﹑委派(delegate)等等,但此介面不會提供任何有實際行動的程式碼(那有毛管用麼!?
 .jpg) ),有實際行動的程式碼則要由 簽署者親自補上,一個也不能少,即一個介面實作者 必定會有與其他人共同擁有的方法,只不過,實作方式不同而己...... 就像小鳥和飛機一樣能飛,只差於飛行方式。
 將拼圖寫成型別....是可以的...雖然有大量程式碼會copy and paste,但是編出來.....就條理和篇幅方面,趕腳似乎不及列舉呢.......
 
 
 抽象類別(abtract class),是我最終採用的選擇。若果拼圖是類別(class)的話,抽象類別(程式裡面是puzzle)可以作為各種拼圖的基底類別(父類別),各種拼圖為 其子類別。
 各種不同的拼圖 有共同且一致的方法(Method),亦有其各自不同的方法 或者 共同方法,但有不同的實作方式(出現在父類別中,有MustOverride修飾詞)。各種拼圖(子類別)可以呼叫puzzle(父類別)的方法,而且此方法對各種拼圖來說,是一致的。此舉與介面(Interface)相比,減少了程式的篇幅。至於共同擁有的方法,但不同的實作方式【聽說這是介面(Interface)的賣點其一】,只要用在父類別裡面宣告該方法加上MustOverride修飾詞即可。至於子類別獨立擁有的方法,就直接在子類別中宣告就行了。
 
 
 而且,我留意到 抽象類別有著一點泛型(generic)的性質。留意到下面的範例:
 
                                                         | Public Class consumeShapes
 Public Sub makeShapes()
 Dim shape1, shape2 As shape
 shape1 = New circle
 shape2 = New square
 End Sub
 End Class
 
 
 Public MustInherit Class shape
 Public acrossLine As Double
 Public MustOverride Function area() As Double
 End Class
 Public Class circle : Inherits shape
 Public Overrides Function area() As Double
 Return Math.PI * acrossLine
 End Function
 End Class
 Public Class square : Inherits shape
 Public Overrides Function area() As Double
 Return acrossLine * acrossLine
 End Function
 End Class
 
 |  
 
 
 抽象類別似乎可以當作一個型別變數,容許指向於他的變數,直接變成其子類別的物件(object)。如果再配搭上陣列的話,陣列可以變成一個集合,方便存取不同的子類別物件(各種拼圖)。唉!?這不是能夠實作為一個列舉型別嗎?
 
 若抽象類別(abtract class)加以配搭的話,似乎可以視作為介乎 列舉(Enum)和介面(Interface)的東西吶.........
 嗯,想起來,抽象類別也挺有本事
  ........最初認為他沒什麼一流的特別功能  ..............好.....我貼貼服服的跪了  
 
 
 總之,我想像不了列舉(Enum),在這裡有著什麼用途
  或許笨人入世未深.......
 至於介面(Interface),從抽象類別取經後,現在也可以研究一下
 我期待列舉(Enum)和介面(Interface)去實作拼圖類別﹑集合的方式
 這就有勞各位程編觸咯
  
 
 |