面向对象(二)

Day30 Python面向对象(二)

类的继承、属性查找顺序、方法重写、函数装饰器装函数、函数装饰器装饰类、类装饰器装饰函数、Mixin与装饰器对比、Mixin类的注意点

08-22侠课岛    基础入门       

后端/后端/Python 由浅入深入门 11     0     202

总结

1.类的继承

  • 继承是一种创建类的方法,一个类可以继承来自一个或多个父类,原始类称为基类或超类;

  • 继承可以很方便的帮助子类拥有父类的属性和方法,减少代码冗余,子类可以定义自己的方法和属性,也可以覆盖父类的方法和属性;

  • 实现继承:指使用基类的属性和方法而无需额外编码的能力;

  • 接口继承:指仅使用属性和方法的名称、但是子类必须提供实现的能力(子类重构父类方法);

2.属性查找顺序

  • 父类的私有属性无法被子类访问;

  • 属性的查找顺序:先从对象自身的__dict__中查找->然后从对象所在类的__dict__中查找->然后从父类的__dict__中查找,直至找到或者报错没有找到

3.方法重写

  • 如果你的父类方法的功能不能满足你的需求,就可以在子类重写你父类的方法;

  • 子类可以覆盖父类的方法,且可以在覆盖的方法中调用父类的方法;

  • super()函数是用于调用父类(超类)的一个方法, Python 3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx

4.装饰器

  • 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等;

  • python装饰器本质上就是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象(函数的指针);

  • 概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能,也称之为扩展功能;

5.Mixin

  • Mixin是一种设计模式,通过多继承的方式对类的功能进行增强;

  • Mixin可以在不修改任何源代码的情况下,对已有类进行扩展;

  • 可以根据需要使用已有的功能进行组合,来实现“新”类;

  • 还能很好的避免类继承的局限性,因为新的业务需要可能就需要创建新的子类;

6.Mixin类的注意点

  • 在Mixin类中,不能写初始化的__init__方法,因为Mixin类不做为独立类使用;

  • Mixin类原则上必须作为其他类的基类,实现其他类的功能增强;

  • Mixin类的基类必须也是Mixin类; 使用Mixin方式增强功能的的类,必须将Mixin类写在继承列表的第一个位置;

  • Mixin比decorator更加强大;

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

11

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录



|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?