Python知識分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
Python 隱藏和封裝
發(fā)布于:2023-09-12 11:04:43

Python 7天快速入門完整視頻教程https://www.bilibili.com/video/BV1o84y1Z7J1

 

隱藏和封裝

 

 

封裝(Encapsulation)是面向?qū)ο蟮娜筇卣髦唬硗鈨蓚€是繼承和多態(tài)),它指的是將對象的狀態(tài)信息隱藏在對象內(nèi)部,不允許外部程序直接訪問對象內(nèi)部信息,而是通過該類所提供的方法來實(shí)現(xiàn)對內(nèi)部信息的操作和訪問。

 

Python里私有屬性和方法的定義,命名以__開頭(兩個下劃線)

私有屬性和方法,外部對象無法直接訪問,否則報錯。

私有屬性和方法只能類內(nèi)部通過self訪問使用。

 

# 定義人類
class Person:
    # 屬性 姓名
    name = None
    # 屬性 年齡
    age = None
    # 私有屬性 得分
    __score = None

    def __init__(self, name, age, score):
        self.name = name
        self.age = age
        self.__score = score

    # 成員方法 say  打印輸出姓名和年齡
    def say(self):
        print(f"姓名:{self.name},年齡:{self.age},成績:{self.__score}")
        self.__check_score()

    # 定義私有方法 不及格,叫家長來下
    def __check_score(self):
        if self.__score < 60:
            print(f"叫{self.name}的家長來下學(xué)校")


# 創(chuàng)建一個對象 zhangsan
zhangsan = Person("張三", 11, 55)
# zhangsan.__check_score()  # 訪問私有方法 報錯
# print(zhangsan.__age)  # 訪問私有屬性 報錯

# 創(chuàng)建一個對象 lisi
lisi = Person("李四", 11, 55)
lisi.say()

 

 

 

轉(zhuǎn)載自: