Python - 面向對象編程 - 三大特性之封裝


簡單介紹封裝

  • 封裝是面向對象編程的一大特點
  • 封裝可以被認為是一個保護屏障,防止該類的屬性、方法和數據結構被外部隨意訪問
  • 要訪問該類的屬性、私有方法、數據結構,必須由指定的方法控制訪問

 

深入理解封裝

  • 在設計類時,刻意地將一些屬性和方法隱藏在類的內部【私有屬性、私有方法】
  • 這樣在使用此類時,將無法直接通過 實例對象.屬性名   實例對象.實例方法() 形式調用這些屬性、方法
  • 而只能通過公開的方法間接操作這些隱藏的屬性和方法

 

類比場景

  • 好比使用電腦,我們只需要學會如何使用鍵盤和鼠標就可以了,不用關心內部是怎么實現的,因為那是生產和設計人員該操心的
  • 注意:封裝絕不是將類中所有的方法都隱藏起來,一定要留一些像鍵盤、鼠標這樣可供外界使用的類方法
  • 修改電腦內部的設計,但我們仍然通過鍵盤、鼠標去操作電腦

 

封裝的好處

數據結構完整性

  • 封裝機制保證了類內部數據結構的完整性
  • 用戶只能通過公開的方法來訪問數據,只需要在公開的方法中加入適當的控制邏輯,即可控制用戶對類中屬性或方法的不合理操作
  • 很好地避免了外部對內部數據的影響,提高了程序的可維護性,也提升了代碼數據的安全性

 

減少耦合,提高代碼復用性

  • 良好的封裝能夠減少耦合
  • 用戶使用類不需要去關心類中的具體實現代碼,通過類公開的方法即可正確訪問這個類
  • 類內部的屬性、方法、數據結構可以隨意修改,而不用修改那些調用類方法的程序片段

 

封裝原則

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM