python3面向對象(3)私有屬性和方法以及訪問私有屬性和方法的方式


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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM