Python面向對象封裝

什麼是封裝?
在程序設計中,封裝(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公斤

發佈了26 篇原創文章 · 獲贊 7 · 訪問量 1789
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章