- 類別(Class)說的是物件的「型別」
- 物件則是類別之可使用的「執行個體」
再以藍圖作比喻,若Class是藍圖,Object就是根據藍圖所蓋的建築物。藍圖是一個計畫一張圖,它無法住人,它不會增值、它無法投資,它無法買賣,但當它建好之後,它就是實實在在的透天、高樓、豪宅,這棟建築物會擁有藍圖上的一切。同一份藍圖,可以建A棟、B棟、第一期、第二期,每一棟、每一期都是活生生個體,這個建造過程就是稱執行個體化。
所以Class會描述組成Object的屬性、欄位、方法和事件,和藍圖描述建築物組成項目的道理相同。就像藍圖可用來建造許多建築物一樣,藍圖來用描述的「結構」,單一Class也是用 來建立任何所需數量的Object。而且就像藍圖會定義使用建築物的人可使用建物的哪些部分,Class也可透過封裝控制使用者可存取的Object項目。
Public Class Person ' 共同屬性 Property FirstName() As String Property LastName() As String Property Sexy() As Boolean Property Birthday() As DateTime ' 共同方法 Public Overridable Function Age() As String Return (Now.Year - _Birthday.Year + 1).ToString() End Function End Class
不管你是自行撰寫或是使用.NET Framework提供的類別,最終都是要拿來當型別使用。
Dim Bruce As New Person
在.NET Framework是使用「New 關鍵字」來進行執行個體化。執行個體化之後 Bruce 物件可擁有 Person 類別的屬性、方法。
Dim Bruce As New Person Bruce.FirstName = "KK" Bruce.LastName = "Bruce" ' ...
現在你可以開始可以使用它,存取 Bruce 物件的屬性、執行 Bruce 物件的方法,而且全部都是透過「.」(點符號)。
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。