欢迎访问 如意编程网!

如意编程网

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

面向对向---封装

发布时间:2024/7/5 编程问答 4 豆豆
如意编程网 收集整理的这篇文章主要介绍了 面向对向---封装 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

类的三大特性 之 封装

  • super

  • 在py3中怎样用?在py2(新式类/经典类)中怎样用

  • 在py3中super().func()
  • 在py2中新式类super(子类的名字,子类的对象).函数名()
  • 在py2中经典类中super().func()
  • 在单继承中执行父类的同名方法的时候怎么用?

  • 用法:super().func()
  • 在单继承的时候就是找父类
  • super方法和mro方法的关系是什么

  • super是按照mro顺序来寻找当前类的下一个类
  • 封装

  • 广义上的封装

  • 把属性和方法装起来,在外部不能直接调,需要通过类名的方式调用
  • 狭义上的封装

  • 把属性和方法藏起来,在外部不能调用,只能在内部偷偷调用
  • 使用私有的三种情况

  • 不想让你看也不想让你改
  • 可以让你看但不让你改
  • 可以看也可以改,但是要求你按照我的规则改
  • 封装的语法

  • 私有的静态变量
  • 私有的实例变量
  • 私有的绑定方法
  • 私有的特点

  • 私有的可以在内部使用
  • 私有的不能在外部使用
  • 私有的也不可以在子类中使用
  • 原理

  • 私有在内部是如何变形的?

  • 在类的内部使用的时候,自动把当前这句话所在的类的名字拼在私有变量前完成变形
  • class User:__Country = 'China'__Role = '法师'def func(self):print(self.__Country)#在内部调用的时候会自动帮你加上类名(_User__Country) print(User.__Country)在类的外部调不到是因为python没有自动为你加_User
  • 私有在哪里定义的时候变形

  • 当你在类内部调用私有类的时候就会发生变化
  • 类中变量的级别,那些是python支持的,那些是python不支持

  • 公有的
  • public 公有的 类内类外都能用,父类子类都能用 python支持
  • 保护的
  • protect 保护的 类内能用,父类子类都能用,类外不能用 python不支持
  • 私有的
  • private 私有的 本类的类内部能用,其他地方都不能用 python支持
  • 转载于:https://www.cnblogs.com/wang-xing-hao/p/11172728.html

    总结

    以上是如意编程网为你收集整理的面向对向---封装的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得如意编程网网站内容还不错,欢迎将如意编程网推荐给好友。