亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python基礎(chǔ)知識之私有屬性和私有方法

 更新時間:2021年03月25日 09:35:29   作者:愚公搬代碼  
這篇文章主要介紹了python基礎(chǔ)知識之私有屬性和私有方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

私有權(quán)限

面向?qū)ο笕筇匦裕悍庋b、繼承、多態(tài)
封裝的意義:

  1. 將屬性和方法放到一起做為一個整體,然后通過實例化對象來處理;
  2. 隱藏內(nèi)部實現(xiàn)細節(jié),只需要和對象及其屬性和方法交互就可以了;
  3. 對類的屬性和方法增加 訪問權(quán)限控制。

私有權(quán)限:在屬性名和方法名 前面 加上兩個下劃線 __

  1. 類的私有屬性 和 私有方法,都不能通過對象直接訪問,但是可以在本類內(nèi)部訪問;
  2. 類的私有屬性 和 私有方法,都不會被子類繼承,子類也無法訪問;
  3. 私有屬性 和 私有方法 往往用來處理類的內(nèi)部事情,不通過對象處理,起到安全作用。

私有屬性

"""
私有屬性,只需要在原屬性名前加上兩個下劃線,即可
目的: 保證數(shù)據(jù)的相對安全,
想要訪問和使用私有屬性: 定義一個公有的方法,通過這個方法使用
"""


# 案例需求: 定義People 類, 定義屬性 ICBC_money , 錢不能隨便被修改,必須是合法的終端才可以操作
class People(object):
  def __init__(self):
    # python中的私有本質(zhì)是 修改屬性的名字, 在創(chuàng)建對象的時候,會自動的修改屬性名
    # 在屬性名的前邊加上 _類名前綴
    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

# 創(chuàng)建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

私有方法

"""
私有方法: 在方法的前邊加上兩個__ ,就為私有方法
私有方法,不能在類外部訪問
作用: 一般作為類內(nèi)部的方法使用,不讓在外部直接調(diào)用, 保證業(yè)務(wù)邏輯不被破壞
"""


class Dog(object):
  def born(self):
    """生小狗的方法, 生一個小狗,休息30天"""
    print('生了一只小狗...')
    self.__sleep()

  def __sleep(self):
    print('休息30天')


dog = Dog()
# dog.__sleep()
dog.born()

到此這篇關(guān)于python基礎(chǔ)知識之私有屬性和私有方法的文章就介紹到這了,更多相關(guān)python私有屬性和私有方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論