python程式碼怎麼封裝

ldzsl發表於2021-09-11

python程式碼怎麼封裝

封裝是物件導向程式語言對客觀世界的模擬,在客觀世界裡,物件的狀態資訊都被隱藏在物件內部,外界無法直接操作和修改。對一個類或物件實現良好的封裝,可以達到以下目的:

隱藏類的實現細節。

讓使用者只能透過事先預定的方法來訪問資料,從而可以在該方法里加入控制邏輯,限制對屬性的不合理訪問。

可進行資料檢查,從而有利於保證物件資訊的完整性。

便於修改,提高程式碼的可維護性。

為了實現良好的封裝,需要從以下兩個方面來考慮:

將物件的屬性和實現細節隱藏起來,不允許外部直接訪問。

把方法暴露出來,讓方法來控制對這些屬性進行安全的訪問和操作。

封裝的目的是,保護隱私,把不想讓別人知道的東西封裝起來。下面透過例子來理解封裝

python為什麼要封裝?

1:封裝資料:主要原因是:保護私隱,明確區分內外。將資料隱藏起來這不是目的。隱藏起來然後對外提供操作該資料的介面,然後我們可以在介面附加上對該資料操作的限制,以此完成對資料屬性操作的嚴格控制。

class Teacher:
    def __init__(self,name,age):
        self.__name=name
        self.__age=age

    def tell_info(self):
        print('姓名:%s,年齡:%s' %(self.__name,self.__age))
    def set_info(self,name,age):
        if not isinstance(name,str):
            raise TypeError('姓名必須是字串型別')
        if not isinstance(age,int):
            raise TypeError('年齡必須是整型')
        self.__name=name
        self.__age=age

t=Teacher('egon',18)
t.tell_info()

t.set_info('egon',19)
t.tell_info()

2:封裝方法:目的是隔離複雜度

封裝方法舉例:

1. 電視機本身是一個黑盒子,隱藏了所有細節,但是一定會對外提供了一堆按鈕,這些按鈕也正是介面的概念,所以說,封裝並不是單純意義的隱藏!!!

2. 快門就是傻瓜相機為傻瓜們提供的方法,該方法將內部複雜的照相功能都隱藏起來了

提示:在程式語言裡,對外提供的介面(介面可理解為了一個入口),可以是函式,稱為介面函式,這與介面的概念還不一樣,介面代表一組介面函式的集合體。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2325/viewspace-2835757/,如需轉載,請註明出處,否則將追究法律責任。

相關文章