py知识(每日更新) 7.10

面向对象三大特征: 封装 继承 多态

​ 封装 : 将一些内容封装到一个地方. 而且还可以取出来

​ 类设置静态属性,设置一些方法 都是封装

​ 多态 : 一个事物产生多种形态

​ Python中默认支持多态

​ 鸭子类型

​ Python中: 看起来像鸭子 那么你就是鸭子

class A:
    def aaa(self):
        pass
    def bbb(self):
        pass
    
class B:
    def aaa(self):
        pass
    def bbb(self):
        pass
    
A,B两个类,没有任何关系,相互独立,但是里面的功能相似,所以Python一般会将类似于A,B两个类里面的相似的功能让其命名相同.
1.A,B虽然无关系,但是很默契的指定了一个规范,让你使用起来更方便

面向对象类的约束

1. 在父类建立一种约束
使用raise TypeError('代码格式错误')
在父类定义一个方法,主动跑出错误异常,如果子类没有定义这个方法,并且沿用了父类的方法,即会报错.Python推荐的一种约束方式
2.利用抽象类(指定一种规范)的概念,建立一种约束
利用抽象类的概念:基类如上设置,子类如果没有定义此方法,在实力化对象时就会报错.
# 固定写法
from adc import ABCMeta, abstractmothod

class xxx(metaclass=ABCMeta):
    #abstractmethod
    def xxx(self):
        pass

super的深入理解

super()严格意义上并不是执行父类的方法

单继承: super()肯定是执行父类的方法

多继承:严格按照super(S,self)从属的类的mro的执行顺序而执行S类的下一位

转载于:https://www.cnblogs.com/lyoko1996/p/11171501.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值