首页 > 其他 > 详细

py知识(每日更新) 7.10

时间:2019-07-11 18:15:30      阅读:96      评论:0      收藏:0      [点我收藏+]

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

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

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

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

? 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类的下一位

py知识(每日更新) 7.10

原文:https://www.cnblogs.com/lyoko1996/p/11171501.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!