類的所有成員在上一步驟中已經做了詳細的介紹,對於每乙個類的成員而言都有兩種形式:
私有成員和公有成員的定義不同:私有成員命名時,前兩個字元是下劃線。(特殊成員除外,例如:__init__、__call__、__dict__等)
classc:
def__init__
(self):
self.name = '
公有字段
'self.
__foo = "
私有字段
"
私有成員和公有成員的訪問限制不同:
靜態字段
classc: name = "
公有靜態字段
"def
func(self):
c.name
class
d(c):
defshow(self):
c.name
c.name
#類訪問
obj =c()
obj.func()
#類內部可以訪問
obj_son =d()
obj_son.show()
#派生類中可以訪問
classc:
__name = "
公有靜態字段
"def
func(self):
print c.__name
class
d(c):
defshow(self):
print c.__name
c.__name
#類訪問 ==> 錯誤
obj =c()
obj.func()
#類內部可以訪問 ==> 正確
obj_son =d()
obj_son.show()
#派生類中可以訪問 ==> 錯誤
普通字段
ps:如果想要強制訪問私有字段,可以通過 【物件._類名__私有欄位明 】訪問(如:obj._c__foo),不建議強制訪問私有成員。
classc:
def__init__
(self):
self.foo = "
公有字段
"def
func(self):
print self.foo #
類內部訪問
class
d(c):
defshow(self):
self.foo # 派生類中訪問
obj =c()
obj.foo
#通過物件訪問
obj.func() #
類內部訪問
obj_son =d();
obj_son.show()
#派生類中訪問
classc:
def__init__
(self):
self.
__foo = "
私有字段
"def
func(self):
print self.foo #
類內部訪問
class
d(c):
defshow(self):
self.foo # 派生類中訪問
obj =c()
obj.
__foo
#通過物件訪問 ==> 錯誤
obj.func() #
類內部訪問 ==> 正確
obj_son =d();
obj_son.show()
#派生類中訪問 ==> 錯誤
方法、屬性的訪問於上述方式相似,即:私有成員只能在類內部使用
ps:非要訪問私有屬性的話,可以通過 物件._類__屬性名
C 修飾符 類修飾符和成員修飾符
c 修飾符之類修飾符 public internal partial abstract sealed static internal 本程式集內的成員可以訪問。partial 部分類,可以將乙個類分成幾部分寫在不同檔案中,最終編譯時將合併成乙個檔案,且各個部分不能分散在不同程式集中。c 修飾符之成員...
學習C 修飾符 類修飾符和成員修飾符
c 修飾符之類修飾符 public internal partial abstract sealed static c 修飾符之成員修飾符 public protected private internal sealed abstract virtual override readonly cons...
java 類修飾符 成員變數修飾符 方法修飾符總結
類修飾符 public 訪問控制符 將乙個類宣告為公共類,他可以被任何物件訪問,乙個程式的主類必須是公共類。abstract,將乙個類宣告為抽象類,沒有實現的方法,需要子類提供方法實現。final,將乙個類生命為最終 即非繼承類 表示他不能被其他類繼承。friendly,預設的修飾符,只有在相同包中...