簡介
在現實世界中,經常有屬於同一類的對象。例如,你的腳踏車
只是世界上很多腳踏車中的一輛。在面向對象軟體中,也有很
多共享相同特徵的不同的對象:矩形、雇用記錄、視頻剪輯
等。可以利用這些對象的相同特徵為它們建立一個藍圖。對象
的軟體藍圖稱為類。
定義
類是定義同一類所有對象的變數和方法的藍圖或原型。
例如,可以建立一個定義包含當前檔位等實例變數的腳踏車
類。這個類也定義和提供了實例方法(變檔、剎車)的實現。
實例變數的值由類的每個實例提供。因此,當你創建腳踏車類
以後,必須在使用之前對它進行實例化。當創建類的實例時,
就建立了這種類型的一個對象,然後系統為類定義的實例變數
分配記憶體。然後可以調用對象的實例方法實現一些功能。相同
類的實例共享相同的實例方法。
除了實例變數和方法,類也可以定義類變數和類方法。可以從
類的實例中或者直接從類中訪問類變數和方法。類方法只能操
作類變數 - 不必訪問實例變數或實例方法。
系統在第一次在程式中遇到一個類時為這個類建立它的所有類
變數的拷貝 - 這個類的所有實例共享它的類變數。
類和對象
你可能會注意到對象和類的說明很相似。實際上,
類和對象之間的差別經常是一些困惑的起源。在現
實世界中很明顯,類不是它描述的對象 - 腳踏車的
藍圖不是腳踏車。但是在軟體中就有點難區分類和
對象。著部分是由於軟體對象只是現實世界的電子
模型或抽象概念。但是也由於很多人用“對象”指
類和它們的實例這兩者。
類的好處
對象提供了模型化和信息隱藏的好處。類提供了可
重用性的好處。腳踏車製造商一遍一遍地重用相同
的藍圖來製造大量的腳踏車。軟體程式設計師用相同
的類,即相同的代碼一遍一遍地建立對象。