python3面向物件(3)私有屬性和方法以及訪問私有屬性和方法的方式
阿新 • • 發佈:2018-11-15
python3中的私有屬性和方法是以__兩個下劃線開頭的:
class Woman(object): #定義一個woman類 def __init__(self,name): self.name = name #公有屬性 self.__age = 22 #私有屬性 def __money(self): #私有方法 print("哈哈哈,我有很多存款") obj1 = Woman("紅紅") obj1.name #可以直接訪問 print(obj1.__age) #不可以直接訪問 obj1.__money #不可以直接訪問
第一種訪問:訪問私有屬性和方法的方式(在類內,普通方法可以訪問私有屬性和方法,然後再呼叫普通方法來訪問私有的):
class Woman(object): def __init__(self,name): self.name = name self.__age = 22 def __money(self): print("哈哈哈,我有很多存款") def func_age(self): #定義一個普通方法來訪問 私有屬性 print("訪問到來你的年齡:%s" % self.__age) def func_money(self): #定義一個普通方法來訪問 私有方法 self.__money() obj1 = Woman("紅紅") obj1.func_age() obj1.func_money()
第二種訪問:訪問私有屬性和方法的方式(通過_類名__私有(屬性或方法))
class Woman(object): def __init__(self,name): self.name = name self.__age = 22 def __money(self): print("哈哈哈,我有很多存款") obj1 = Woman("紅紅") print(obj1._Woman__age) #通過_Woman__age obj1._Woman__money() #通過_Woman__money()