面向对象

继承的简介

创建类时后面括号里的就是这个类的父类(也被成为超类,基类)
1.让类与类之间产生了关系,有了这层关系才有我们后续要说的多态
2.提高了代码的复用性
3.在创建类的时候,如果省略了父类,则默认父类为object,因为object是所有类的父类。
子类会继承父类的属性和方法
例如:
‘’’
class Animal:
def sleep(self):
print(‘动物会睡觉…’)
def run(self):
print(‘动物会跑…’)
class Dog(Animal):
pass
d = Dog()
d.run()
‘’’
输出:动物会跑…
pass是占位符防止class Dog(Animal):因为未定义内容而报错,此时Animal就是Dog的父类,当run()在Dog中找不到时,就会去Animal中找。如果子类和父类同时都有同一函数,则优先子类。
父类的父类也会被子类继承

检测函数

isinstance(a,b)可以检测a是否是b的实例,返回值为True或False,以上述函数为例,假如a=Dog()(a是Dog的实例)则a也是Animal的实例,b可以为一个元组,有多种类型,检测时做或运算。(instance的中文名词意思为实例)
issubclass(a,b)检查a是否是b的子类,返回True或False,当a为int,list之类,b为object时,返回值为True,因为int,list这些也是一个类,而object如前文所述是所有类的父类(subclass中文名词意思为子类,子集,亚纲)
hasattr(a,‘b’)判断a类中是否含有b方法,返回值为布尔值。

super

放在类的def__init__():下
super可以用于获取当前类的父类super().init(需要获取的父类def__init__():中的值)通过super不需要传递self,因为一个子类的父类不一定是一定的,可能发生变化,也有可能父类有了新的父类,使用super可以防止参数数量不匹配而发生的报错。

多重继承

在开发中尽量不要使用多重继承因为他会使代码变得很冗余。
多重继承即一个子类有多个父类,有的语言不支持多重继承,但python是支持多重继承的,父类和父类间要用,隔开。
在开发中尽量不要使用多重继承因为他会使代码变得很冗余。
当方法在子类中找不到时,会对他的父类从左到右依次寻找。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值