类的继承

继承Inhertiance

人类和猫类都继承自动物类

个体继承自父母,继承了父母的一部分特征,但也可以有自己的个性

在面向对象的世界中,从父类继承,就可以直接拥有父类的属性和方法

这样可以减少代码,多复用。子类也可以定义自己的属性和方法。

class Animal:
    def shout(self):
        print('animal shout')


a = Animal()
a.shout()


class Cat:
    def shout(self):
        print('Cat shout')


c = Cat()
c.shout()

上面这两个类,虽然有关系,但是定义时并没有建立这种关系,而是各自完成定义

动物和猫类都有吃,但是它们的吃有区别,所以分别定义

class Animal:
    def __init__(self, name):
        self._name = name

    def shout(self):   # 一个通用的吃方法
        print('{} shout'.format(self.__class__.__name__))

    @property
    def name(self):
        return self._name


a = Animal('monster')
a.shout()


class Cat(Animal):
    pass


c = Cat('tom')
c.shout()



out:
Animal shout
Cat shout

可以看出,通过继承,猫类可以不用写代码,直接继承父类的属性和方法

Animal就是Cat类的父类,也称为基类,超类

子类,也称为派生类

 

格式如下:

class 子类名(基类1[,基类2,……]):

         语句块

如果类定义时,没有基类列表,等同于继承自object。

PY3中,object类是所有对象的根基类

class A:

         pass

#等价于:

class A(object):

         pass

python支持多继承,继承也可以多级

查看继承的特殊属性和方法有:

__base__   类的基类

__bases__   类的基类元组

__mro__    显示方法查找顺序,基类的元组

mro()          同上     # int.mro()

__subclasses__()   类的子类列表     # int.__subclasses__()

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值