面向对向---封装
类的三大特性 之 封装
- 
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支持
 
 
- 公有的

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号