JAVA程式員必讀:基礎篇(4)
來源:互聯網
上載者:User
程式|程式員 JAVA程式員必讀:基礎篇時間:2001/09/13 13:31作者:ZSC 太平洋網路學院
2.3什麼是類
類實際上是對某種類型的對象定義變數和方法的原型。
在現實世界中,你經常看到相同類型的許多個物件。比如 ,你的單車只是現實世界中許多單車的其中一輛。使用物件導向技術,我們可以說你的單車是單車對象類的一個執行個體。通常,單車有一些狀態(當前檔位、兩個輪子等等)以及行為(改變檔位、刹車等等)。但是,每輛單車的狀態都是獨立的並且跟其它單車不同。
當廠家製造單車的時候,廠商利用了單車共有的特性來根據相同的藍圖製造許多單車。如果製造一輛單車就要產生一個新藍圖,那效率就太低了。
在物件導向軟體中,同樣地,可以讓相同種類地許多個物件來共有一些特性,比如矩形、僱員記錄、視頻夾等等。就象單車製造商人,你可以利用相同種類的對象是相似的事實並且你可以為這些對象建立一個藍圖。對對象的軟體藍圖叫做類。
單車的類需要定義一些執行個體變數來包括當前檔位、當前速度等等。這個類將為執行個體方法定義和提供實施方法,它允許騎車者改變檔位、刹車以及改變腳踏板的節奏,如圖5所示:
(圖5)
當你建立了單車類以後,你可以從這個類建立任意個單車對象。當你建立了一個類的執行個體後,系統將為這個對象和的執行個體變數分配記憶體。每個執行個體將給所有執行個體變數的副本定義在類中。如圖6所示:
(圖6)
除了執行個體變數,類還要定義類的變數。類變數包含了被類所有執行個體共用的資訊。比如,假設所有的單車有相同的檔位元。在本例子中,要定義一個執行個體變數來容納檔位元。每一個執行個體都會有變數的副本,但是在每一個執行個體中數值都是相同的。在這樣的情況下,你可以定義一個類變數來包含檔位元,這樣所有的類的執行個體都共用這個變數。如果一個對象改變了變數,它就為改變那個類的所有對象。類同樣可以定義類方法。你可以直接從類中調用類方法,然而你必須在特定的執行個體中調用執行個體方法。如圖7所示。
(圖7)