zoukankan      html  css  js  c++  java
  • Python中子类调用父类的方法

    如果想在子类中调用父类的方法可以用类名去直接调用,这时候self参数不能省略。

    class Animal:
        def __init__(self,name,age,weight):
            self.name=name
            self.age=age
            self.weight=weight
    class Dog(Animal):
        def __init__(self,name,age,weight,owner):
            Animal.__init__(self,name,age,weight)#注意这里不能使用Animal(name,age,weight)
            self.owner=owner
    
    d1=Dog('小白','2','20','小黑')
    print('%s的主人是%s'%(d1.name,d1.owner))  #小白的主人是小黑

    上面的方法虽然可以实现基本的功能,但是可拓展性比较差。因为当父类名字发生修该时下面就必须进行修改。这时候可以使用super()方法就可以解决这问题。

    class Animal:
        def __init__(self,name,age,weight):
            self.name=name
            self.age=age
            self.weight=weight
    class Dog(Animal):
        def __init__(self,name,age,weight,owner):
            super().__init__(name,age,weight)
            self.owner=owner
    
    d1=Dog('小白','2','20','小黑')
    print('%s的主人是%s'%(d1.name,d1.owner))#小白的主人是小黑
  • 相关阅读:
    【Linux】ZeroMQ 在 centos下的安装
    ZeroMQ下载、编译和使用
    在Linux系统上安装Git
    Linux下python2.7安装pip
    [Tyvj1474]打鼹鼠
    [BZOJ2908]又是nand
    [SPOJ375]Qtree
    浅谈算法——树链剖分
    [BZOJ5368/Pkusc2018]真实排名
    [FJOI2007]轮状病毒
  • 原文地址:https://www.cnblogs.com/linshuhui/p/9016553.html
Copyright © 2011-2022 走看看