面向對象三大特性:封裝、繼承、多態
封裝的意義:
私有權限:在屬性名和方法名 前面 加上兩個下劃線 __
""" 私有屬性,只需要在原屬性名前加上兩個下劃線,即可 目的: 保證數據的相對安全, 想要訪問和使用私有屬性: 定義一個公有的方法,通過這個方法使用 """ # 案例需求: 定義People 類, 定義屬性 ICBC_money , 錢不能隨便被修改,必須是合法的終端才可以操作 class People(object): def __init__(self): # python中的私有本質是 修改屬性的名字, 在創建對象的時候,會自動的修改屬性名 # 在屬性名的前邊加上 _類名前綴 self.__ICBC_money = 0 # 定義私有屬性 # 定義公有的方法,提供接口,修改余額 def get_money(self): return self.__ICBC_money def set_money(self, money): num = input('輸入金額:') self.__ICBC_money += int(num) # self.__ICBC_money += money # 創建People類對象 xw = People() # 實例對象.__dict__ 可以查看對象具有的屬性信息,類型是字典,字典的key是屬性名, 字典的value是屬性值 print('賦值之前:', xw.__dict__) # print(xw.__ICBC_money) xw.__ICBC_money = 1000 # 不是修改私有屬性,是重新添加一個公有屬性 print('賦值之后:', xw.__dict__) print(xw.__ICBC_money) print('=' * 20) print(xw.get_money()) # 0 xw.set_money(1000) print(xw.get_money()) # 1000 xw.set_money(-500) print(xw.get_money()) # 500
""" 私有方法: 在方法的前邊加上兩個__ ,就為私有方法 私有方法,不能在類外部訪問 作用: 一般作為類內部的方法使用,不讓在外部直接調用, 保證業務邏輯不被破壞 """ class Dog(object): def born(self): """生小狗的方法, 生一個小狗,休息30天""" print('生了一只小狗...') self.__sleep() def __sleep(self): print('休息30天') dog = Dog() # dog.__sleep() dog.born()
到此這篇關于python基礎知識之私有屬性和私有方法的文章就介紹到這了,更多相關python私有屬性和私有方法內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!