關鍵區別–類與實例變量
大多數現代編程語言都支持面向對象編程。對象包含數據或屬性。一個物體有一定的行為。它們被稱為方法。程序可以使用對象建模。軟件是程序的集合。因此,可以使用對象來設計和實現軟件。對象使用方法進行交互。面向對象編程提高了代碼的模塊性和可重用性。應該有一個類來創建對象。類是創建對象的藍圖。因此,對象是類的實例。在編程中,需要存儲數據。數據存儲在存儲器中。這些內存位置稱為變量。成員變量是與特定對象關聯的變量。它的所有方法都是可訪問的。有兩種類型的成員變量,即類變量和實例變量。類變量和實例變量之間的關鍵區別在於,如果只有一個變量副本與類的所有實例共享,則這些變量稱為類變量,如果類的每個實例都有自己的變量副本,則這些變量稱為實例變量。
目錄
1. 概述和主要區別
2. 什麼是類變量
3. 什麼是實例變量
4.類和實例變量之間的相似性
5. 並列比較-類與實例變量以表格形式顯示
6. 摘要
什麼是類變量(class variables)?
當只有一個變量副本與類的所有實例共享時,這些變量稱為類變量。類變量是在任何方法之外的類中聲明的變量。這些變量包含關鍵字靜電。這些變量與類關聯,而不是與對象關聯。
用類變量引用下面的代碼段。
公辦職工{
公共靜態int-id;
公共靜態雙薪制;
}
公開課考試{
公共靜態void main(string[]args){
Employee e1=新員工();
員工e2=新員工();
}
}
根據上面的程序,e1和e2是僱員類型的對象。兩者都有相同的內存拷貝。如果e1.id=1並且打印e2.id也將給出值1。可以使用Employee類名打印id和salary值,例如僱員.id, 員工工資等。
什麼是實例變量(instance variables)?
當類的每個實例都有自己的變量副本時,這些變量稱為實例變量。參考以下程序。
公辦職工{
公共int id;
公共雙薪制;
}
公開課考試{
公共靜態void main(string[]args){
Employee e1=新員工();
e1.id=1;
e1、工資=20000;
員工e2=新員工();
e2.id=2;
e2。工資=25000;
}
}
在主程序中,e1和e2是對Employee類型對象的引用。可以使用點運算符(如e1.id、e1)為id和salary賦值。類Employee中的id和salary被稱為實例變量。e1和e2是獨立的對象。每個對象都有一個單獨的實例變量副本。e1將有單獨的id和salary,e2將有單獨的id和salary。因此,實例變量是在創建對象或實例時創建的。
班(class)和實例變量(instance variables)的共同點
- 兩者都是變量類型。
- 這兩個變量都在類內,但在任何方法之外。
班(class)和實例變量(instance variables)的區別
類變量與實例變量 | |
類變量是指只有一個變量副本與類的所有實例共享的變量。 | 當類的每個實例都有自己的變量副本時,實例變量就是變量。 |
聯想 | |
類變量與類關聯。 | 實例變量與對象相關聯。 |
份數 | |
類變量為所有對象創建一個副本。 | 實例變量為每個對象創建單獨的副本。 |
關鍵詞 | |
類變量應該有static關鍵字。 | 實例變量不需要特殊的關鍵字,例如static。 |
總結 - 班(class) vs. 實例變量(instance variables)
面向對象編程是主要的編程範式。它有助於使用對象對軟件進行建模。對象是使用類創建的。對象創建也稱為實例化。類提供了創建對象的藍圖。成員變量是與特定對象關聯的變量。它的所有方法都是可訪問的。成員變量有兩種類型:類變量和實例變量。類變量和實例變量的區別在於,如果只有一個變量副本與類的所有實例共享,則這些變量稱為類變量,如果類的每個實例都有自己的變量副本,則這些變量稱為實例變量。
下載類vs實例變量的pdf版本
你可以下載這篇文章的PDF版本,並根據引文說明離線使用。請在這裡下載PDF版本:類和實例變量的區別