Python小白学习教程从入门到入坑------第二十三课 封装(语法进阶)

[复制链接]
发表于 2025-12-31 11:23:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
面向对象的三大特性:封装、继续、多态
目次
一、封装
1.1 作甚封装
1.2 隐蔽属性(私有权限)
1.3 私有属性/方法
1.4 隐蔽方法
1.5 私有方法


<hr> 一、封装

1.1 作甚封装

封装:在Python中指的是隐蔽对象中一些不渴望被外部所访问到的属性大概方法。将复杂的信息、流程给包起来,内部处理惩罚,让使用者只必要通过简单的操纵步调,就能实现。
在Python中,封装(Encapsulation)是面向对象编程(OOP)的一个焦点概念。
规范的说法:封装指的是将对象的属性和方法联合在一起,并隐蔽对象的内部实现细节,只通过公开的接口(通常是方法)与外部举行交互。封装的目的在于掩护对象的内部状态,防止外部代码直接访问和修改,从而确保对象的完备性和安全性。

当不使用封装时,类内里的属性可以被望见乃至可以被修改
eg:
  1. class Person:
  2.     name = 'junjun'    # 类属性
  3. pe = Person()
  4. print(pe.name)      # 输出内容:junjun
  5. Person.name = 'yuyu'
  6. print(Person.name)  # 输出内容:yuyu
  7. print(pe.name)      # 输出内容:yuyu
复制代码
这种不封装的代码很轻易被窜改,会带来一系列的安全标题,为了办理安全性这一标题,我们要对类举行封装操纵
1.2 隐蔽属性(私有权限)

隐蔽属性:只允许在类的内部使用,无法通过对象访问
在属性名大概方法名前面加上两个下划线__
  1. class Person:
  2.     name = "junjun"   # 类属性
  3.     __age = 18        # 隐藏属性
  4. pe = Person()
  5. print(pe.name)
  6. print(pe.__age)    #报错: __age被隐藏,不可以在类的外部访问类的隐藏属性
复制代码
但假如类的隐蔽属性已经被界说好了,我们又必要从外边访问它的值该怎么做呢?
这里有两种方法:
第一种: (相识即可,不太正规)
注意:隐蔽属性实际上是将名字修改为:_类名__属性名,上面例子中
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表