Python - 面向对象编程 - 三大特性之封装

简单介绍封装

  • 封装是面向对象编程的一大特点
  • 封装可以被认为是一个保护屏障,防止该类的属性、方法和数据结构被外部随意访问
  • 要访问该类的属性、私有方法、数据结构,必须由指定的方法控制访问

 

深入理解封装

  • 在设计类时,刻意地将一些属性和方法隐藏在类的内部【私有属性、私有方法】
  • 这样在使用此类时,将无法直接通过 实例对象.属性名   实例对象.实例方法() 形式调用这些属性、方法
  • 而只能通过公开的方法间接操作这些隐藏的属性和方法

 

类比场景

  • 好比使用电脑,我们只需要学会如何使用键盘和鼠标就可以了,不用关心内部是怎么实现的,因为那是生产和设计人员该操心的
  • 注意:封装绝不是将类中所有的方法都隐藏起来,一定要留一些像键盘、鼠标这样可供外界使用的类方法
  • 修改电脑内部的设计,但我们仍然通过键盘、鼠标去操作电脑

 

封装的好处

数据结构完整性

  • 封装机制保证了类内部数据结构的完整性
  • 用户只能通过公开的方法来访问数据,只需要在公开的方法中加入适当的控制逻辑,即可控制用户对类中属性或方法的不合理操作
  • 很好地避免了外部对内部数据的影响,提高了程序的可维护性,也提升了代码数据的安全性

 

减少耦合,提高代码复用性

  • 良好的封装能够减少耦合
  • 用户使用类不需要去关心类中的具体实现代码,通过类公开的方法即可正确访问这个类
  • 类内部的属性、方法、数据结构可以随意修改,而不用修改那些调用类方法的程序片段

 

封装原则

 

posted @   小菠萝测试笔记  阅读(1690)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示