標籤: 暫無標籤

CLASS是一種在網路工程中的一種協議。一般組詞為「CLASSLESS」(無類)或者「CLASSFUL」(有類)。面向對象編程中一個無明顯特點的範疇,用於描述一組更具體的稱為對象的東西。另有日本樂隊組合名稱也為CLASS。同時,class也是C++語言中的關鍵字,在matlab中class用於獲取變數的類型。

      類(Class)實際上是對某種類型的對象變數和方法的原型.類是從一些具有相同屬性或功能的具體實例,抽象出共有的一些屬性的,自定義抽象數據類型。

     類是對某個對象的定義。它包含有關對象動作方式的信息,包括它的名稱、方法、屬性和事件。實際上它本身並不是對象,因為它不存在於內存中。當引用類的代碼運行時,類的一個新的實例,即對象,就在內存中創建了。雖然只有一個類,但能從這個類在內存中創建多個相同類型的對象。

      可以把類看作「理論上」的對象,也就是說,它為對象提供藍圖,但在內存中並不存在。從這個藍圖可以創建任何數量的對象。從類創建的所有對象都有相同的成員:屬性、方法和事件。但是,每個對象都象一個獨立的實體一樣動作。例如,一個對象的屬性可以設置成與同類型的其他對象不同的值。

      Microsoft(r) Visual Basic(r) for Applications (VBA) 工程中可包含兩種不同類型的類模塊:沒有任何一種與其關聯的用戶界面的基本類模塊;與窗體或其它組件關聯的類模塊。例如,與窗體相關聯的類模塊,它們和基本類模塊相同,只是它們只有在那個窗體存在於內存中時,才存在於內存中。擁有相關聯的類模塊的對象的示例是「用戶窗體」、Microsoft(r) Access 窗體和報表、Microsoft(r) Word 的 ThisDocument 對象,Microsoft(r) Excel 的 ThisWorkbook 和 SheetN 對象。


      在現實世界中,你經常看到相同類型的許多對象。比如 ,你的自行車只是現實世界中許多自行車的其中一輛。使用面向對象技術,我們可以說你的自行車是自行車對象類的一個實例。通常,自行車有一些狀態(當前檔位、兩個輪子等等)以及行為(改變檔位、剎車等等)。但是,每輛自行車的狀態都是獨立的並且跟其它自行車不同。

      當廠家製造自行車的時候,廠商利用了自行車共有的特性來根據相同的藍圖製造許多自行車。如果製造一輛自行車就要產生一個新藍圖,那效率就太低了。

      在面向對象軟體中,同樣地,可以讓相同種類地許多對象來共有一些特性,比如矩形、僱員記錄、視頻夾等等。就象自行車製造商人,你可以利用相同種類的對象是相似的事實並且你可以為這些對象創建一個藍圖。對對象的軟體藍圖叫做類。

      自行車的類需要定義一些實例變數來包括當前檔位、當前速度等等。這個類將為實例方法定義和提供實施方法,它允許騎車者改變檔位、剎車以及改變腳踏板的節奏,如圖1所示:

Class


(圖1)


      當你創建了自行車類以後,你可以從這個類創建任意個自行車對象。當你創建了一個類的實例后,系統將為這個對象和的實例變數分配內存。每個實例將給所有實例變數的副本定義在類中。如圖2所示:

Class

(圖2)


      除了實例變數,類還要定義類的變數。類變數包含了被類所有實例共享的信息。比如,假設所有的自行車有相同的檔位數。在本例子中,要定義一個實例變數來容納檔位數。每一個實例都會有變數的副本,但是在每一個實例中數值都是相同的。在這樣的情況下,你可以定義一個類變數來包含檔位數,這樣所有的類的實例都共享這個變數。如果一個對象改變了變數,它就為改變那個類的所有對象。類同樣可以定義類方法。你可以直接從類中調用類方法,然而你必須在特定的實例中調用實例方法。如圖3所示。

Class


(圖3)

上一篇[怎麼辦?]    下一篇 [硝化反應]

相關評論

同義詞:暫無同義詞