什麼是封裝?
在程序設計中,封裝(Encapsulation)是對具體對象的一種抽象,簡單的講是將某些部分隱藏起來,在程序外部看不到,
其含義是其他程序無法調用。
封裝既能保護隱私,也能隔離複雜度。
封裝操作的是屬性和方法。
封裝舉例:
需求:
1.小花 體重60公斤
2.小花每次做瑜伽 會減肥0.5公斤
3.小花每次吃KFC 體重增加1公斤
分析:
①名詞提煉法:
名詞:小花
所以可以創建一個Person類
②特徵:體重 和名字
所以屬性爲weight 和name
③動詞提煉法:
做瑜伽 吃KFC
所以方法爲doyoga(self) 和eatkfc(self)
通過以上分析可以將特徵通過init()方法添加屬性的初始值
代碼舉例:
class Person:
def __init__(self,name,weight):
#self.屬性名 = 形參
self.name = name
self.weight = weight
def __str__(self):
return "我的名字叫%s 體重是%2.f 公斤" %(self.name,self.weight)
def doyoga(self):
print("%s 愛做瑜伽, 做瑜伽鍛鍊身體"%self.name)
self.weight -= 0.5
def eatkfc(self):
print("%s 是吃貨,吃完這頓飯再減肥 "% self.name):
self.weight +=1
xiaohua = Person("小花",60.0) # 實例化對象
xiaohua.doyoga()
xiaohua.eatkfc()
print(xiaohua)
#輸出
#小花愛做瑜伽, 做瑜伽鍛鍊身體
#小花是吃貨,吃完這頓飯再減肥
#我的名字是小花,體重是60.5公斤