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))#小白的主人是小黑

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM