當前位置 主頁 > 網站技術 > 代碼類 > 最大化 縮小

    Python面向對象之私有屬性和私有方法應用案例分析

    欄目:代碼類 時間:2019-12-31 15:10

    本文實例講述了Python面向對象之私有屬性和私有方法。分享給大家供大家參考,具體如下:

    01. 應用場景及定義方式

    應用場景

    在實際開發中,對象 的 某些屬性或方法 可能只希望 在對象的內部被使用,而 不希望在外部被訪問到
    私有屬性 就是 對象 不希望公開的 屬性
    私有方法 就是 對象 不希望公開的 方法

    定義方式

    在 定義屬性或方法時,在 屬性名或者方法名前 增加 兩個下劃線,定義的就是 私有 屬性或方法

     

    class Women:
      def __init__(self, name):
        self.name = name
        # 不要問女生的年齡
        self.__age = 18
      def __secret(self):
        print("我的年齡是 %d" % self.__age)
    xiaofang = Women("小芳")
    # 私有屬性,外部不能直接訪問
    # print(xiaofang.__age)
    # 私有方法,外部不能直接調用
    # xiaofang.__secret()

    02. 偽私有屬性和私有方法(科普)

    提示:在日常開發中,不要使用這種方式,訪問對象的 私有屬性 或 私有方法

    Python 中,并沒有 真正意義 的 私有

    在給 屬性、方法 命名時,實際是對 名稱 做了一些特殊處理,使得外界無法訪問到

    處理方式:在 名稱 前面加上 _類名 => _類名__名稱

    # 私有屬性,外部不能直接訪問到
    print(xiaofang._Women__age)
    # 私有方法,外部不能直接調用
    xiaofang._Women__secret()
    
    

    更多關于Python相關內容感興趣的讀者可查看本站專題:《Python面向對象程序設計入門與進階教程》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結》及《Python入門與進階經典教程》

    希望本文所述對大家Python程序設計有所幫助。

青海十一选五开奖数据