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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python怎麼封裝函式Python封裝函式
- AD怎麼生成封裝庫封裝
- python中怎樣封裝與引用Python封裝
- javascript操作cookie程式碼封裝JavaScriptCookie封裝
- ScaleHeight 的封裝程式碼封裝
- javascript字串操作程式碼封裝程式碼例項JavaScript字串封裝
- retrofit如何配合Rxjava封裝程式碼RxJava封裝
- ECMAScript 6 之用模組封裝程式碼封裝
- 封裝我們的VBA程式碼封裝
- javascript應用cookie的封裝程式碼JavaScriptCookie封裝
- python怎麼隱藏一段程式碼Python
- 怎麼裝python3.6.0Python
- python怎麼安裝flaskPythonFlask
- python怎麼安裝pip?Python
- python怎麼退出程式Python
- javascript獲取元素封裝程式碼例項JavaScript封裝
- 原生ajax()函式封裝程式碼例項函式封裝
- Python量化資料倉儲搭建3:資料落庫程式碼封裝Python封裝
- python原始碼包怎麼下載?方便安裝嗎?Python原始碼
- python寫程式碼怎麼跳到下一行Python
- python字串怎麼解碼?Python字串
- 怎麼停止python指令碼Python指令碼
- java封裝繼承以及多型(含程式碼)Java封裝繼承多型
- 模板化的封裝,降低業務程式碼開發封裝
- 原生javascript對ajax的封裝程式碼例項JavaScript封裝
- iOS 開發(六) 程式碼封裝複用篇iOS封裝
- 關於資料庫操作的封裝程式碼資料庫封裝
- python怎麼安裝才快Python
- python安裝好了怎麼使用Python
- python的numpy怎麼裝啊Python
- python3.6.0怎麼安裝Python
- Python的Opencv庫怎麼裝PythonOpenCV
- python的requests怎麼安裝Python
- VueUse 是怎麼封裝Vue3 Provide/Inject 的?Vue封裝IDE
- Python怎麼下載安裝 如何才能學好Python程式設計Python程式設計
- pt-ost python封裝Python封裝
- 程式碼怎麼編呢
- 【編碼】封裝RedisPubSub工具封裝Redis