Python之面向对象

面向对象三大特性

封装

  • 根据 职责属性方法 封装到一个抽象的
  • 外界使用创建对象,然后让对象调用方法
  • 对象方法的细节都被封装在类的内部
一个对象的属性可以是另一个类创建的对象

继承

  • 单继承

    • 概念:子类拥有父类的所有方法和属性
    • 语法:
    			class 类名(父类名):
    				pass
    
      	- 子类继承自父类,可以直接享受父类中封装好的方法,不需要再次开发.
      	- 子类中应该根据职责,封装子类中特有的属性和方法.
    
    • 继承的传递性: 子类拥有父类以及父类的父类中的所有属性方法

    • 方法重写
      	- **覆盖** 父类的方法
      	- 开发中,父类的方法实现和子类方法实现,完全不同。可以使用**覆盖** 的方式在子类中重写父类的方法
      
      • 对父类方法进行 扩展
        1.子类中重写父类方法,
        2.在需要的位置使用 super().父类方法 来调用父类方法的执行,
        3.代码其他的位置针对子类的需求,编写 子类特有的代码实现
  • 多继承

    • 子类 可以拥有 多个父类,并且具有 所有父类属性方法
    • Python 中的 MRO —— 方法搜索顺序
      • Python 中针对 类 提供了一个 内置属性 __mro__ 可以查看 方法 搜索顺序
      • MRO 是 method resolution order,主要用于 在多继承时判断 方法属性 的调用 路径

多态

  • 不同的子类对象调用相同的父类方法,产生不同的执行结果
    • 多态 可以 增加代码的灵活度
    • 继承重写父类方法 为前提
    • 是调用方法的技巧,不会影响到类的内部设计
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值