随笔-面向对象
面向对象的三大特性
封装:
封装指的是把一堆数据属性与方法数据放在一个容器中,这个容器就是对象。让对象可以通过 "." 来调用对象中的数据属性与方法属性。
继承:
继承指的是子类可以继承父类的数据属性与方法属性,并可以对其进行修改或使用。
多态:
在python中的多态指的是让多种类若具备类似的数据属性与方法属性,都统一好命名规范,这样可以提高开发者的代码统一性,使得调用者更方便去理解。
super的作用
使用super()可以在子类中调用父类的方法或属性, 可能你会说, 子类本来就可以调用父类中所有非私有的属性或方法,而我现在说的是, 当子类中实现了某个方法, 父类中也有这个方法, 当你调用这个方法时, 既想执行子类的又想执行父类的, 在这种情况下就可以使用super()
列举面向对象中带双下划线的特殊方法
__setattr__: 添加/修改属性会触发它的执行
__delattr__: 删除属性的时候会触发
__getattr__: 只有在使用点调用属性且属性不存在的时候才会触发
__getattribute__: 不管是否存在,我都会执行