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封裝函式
- python中怎樣封裝與引用Python封裝
- AD怎麼生成封裝庫封裝
- retrofit如何配合Rxjava封裝程式碼RxJava封裝
- Python量化資料倉儲搭建3:資料落庫程式碼封裝Python封裝
- python怎麼隱藏一段程式碼Python
- python怎麼退出程式Python
- 怎麼裝python3.6.0Python
- python怎麼安裝flaskPythonFlask
- python怎麼安裝pip?Python
- python寫程式碼怎麼跳到下一行Python
- python原始碼包怎麼下載?方便安裝嗎?Python原始碼
- Python怎麼下載安裝 如何才能學好Python程式設計Python程式設計
- java封裝繼承以及多型(含程式碼)Java封裝繼承多型
- pt-ost python封裝Python封裝
- python字串怎麼解碼?Python字串
- 怎麼停止python指令碼Python指令碼
- python的requests怎麼安裝Python
- Python的Opencv庫怎麼裝PythonOpenCV
- python怎麼安裝才快Python
- python3.6.0怎麼安裝Python
- python安裝好了怎麼使用Python
- python的numpy怎麼裝啊Python
- 怎麼在Python安裝jupyter?Python
- VueUse 是怎麼封裝Vue3 Provide/Inject 的?Vue封裝IDE
- 淺入深出Vue:程式碼整潔之封裝Vue封裝
- etcd套路(九)註冊服務中心程式碼封裝封裝
- 【RAG 專案實戰 05】重構:封裝程式碼封裝
- 封裝DataBinding讓你少寫萬行程式碼封裝行程
- 孟老闆 ListAdapter封裝, 告別Adapter程式碼 (中)APT封裝
- 模板化的封裝,降低業務程式碼開發封裝
- IndexedDB 程式碼封裝、效能摸索以及多標籤支援Index封裝
- 孟老闆 ListAdapter封裝, 告別Adapter程式碼 (上)APT封裝
- python3+requests:使用類封裝介面測試指令碼Python封裝指令碼
- Python 物件導向程式設計之封裝的藝術Python物件程式設計封裝
- Python 的 Geth 封裝庫 PyGethPython封裝
- Python封裝(01):SSHClient.pyPython封裝client
- Python 封裝日誌模型loggingPython封裝模型