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