Python 7天快速入門完整視頻教程:https://www.bilibili.com/video/BV1o84y1Z7J1
隱藏和封裝
封裝(Encapsulation)是面向對象的三大特征之一(另外兩個是繼承和多態(tài)),它指的是將對象的狀態(tài)信息隱藏在對象內部,不允許外部程序直接訪問對象內部信息,而是通過該類所提供的方法來實現(xiàn)對內部信息的操作和訪問。
Python里私有屬性和方法的定義,命名以__開頭(兩個下劃線)
私有屬性和方法,外部對象無法直接訪問,否則報錯。
私有屬性和方法只能類內部通過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}的家長來下學校")
# 創(chuàng)建一個對象 zhangsan
zhangsan = Person("張三", 11, 55)
# zhangsan.__check_score() # 訪問私有方法 報錯
# print(zhangsan.__age) # 訪問私有屬性 報錯
# 創(chuàng)建一個對象 lisi
lisi = Person("李四", 11, 55)
lisi.say()