實例變量是面向對象程序設計中的一段數據,它對它所在的每個對象都有自己的唯一值,實例變量也可以稱為實例成員、非靜態字段和數據成員,它們是大多數對象的重要組成部分,保存對象用于計算的特定數據段。實例變量是面向對象...
實例變量是面向對象程序設計中的一段數據,它對它所在的每個對象都有自己的唯一值,實例變量也可以稱為實例成員、非靜態字段和數據成員,它們是大多數對象的重要組成部分,保存對象用于計算的特定數據段。實例變量是面向對象編程中的一段數據,對于它所在的每個對象都有自己的唯一值。例如,如果存在兩個對象,a和B,其中對象a有一個實例變量“blah,對象B還有一個實例變量,名為“blah”,這兩個“blah”變量是不同的實體,每個變量都與封裝它的對象相關聯,與對象A關聯的變量“blah”的全名為“A.blah,“而與對象B相關聯的變量“blah”的全名是“B.blah”。如果這些變量可以有自己的值,則每個變量都可以有自己的值。如果對象A和對象B屬于同一類型,則會創建另一個該類型的對象C,并且對象C也將有一個實例變量“blah,“實例變量可以有自己的唯一值。實例變量通常與靜態變量混淆,但兩者有顯著區別。與實例變量不同,實例變量中每個特定類型的對象都有自己的值,靜態變量只有一個值,這個值對于每一個適當類型的對象都是一樣的。靜態變量通常被稱為類變量,它與實例變量不同。根據分配給它們的可見性屬性,實例變量可能只在特定對象內部、對象及其子類中可見,或者它所在的對象以及任何其他對象最后一種類型的可見性,稱為公共可見性,通常被認為是實例變量的不良實踐,因為在面向對象編程中很容易違反封裝原則。盡管有這種禁忌,公共實例變量有時也是有用的。例如,Java中的很多標準類都有公共實例變量,這有時可以方便地修改屬性。實例變量的可見性也會影響繼承。如果一個類繼承另一個類,這不會立即讓兩個類訪問彼此的實例變量。父類和子類中的私有實例變量仍僅限于這些類,因此子類中的私有變量無法被超類看到,父類和子類唯一能看到的實例變量是超類中的受保護變量
-
發表于 2020-08-06 20:32
- 閱讀 ( 1608 )
- 分類:電腦網絡