1. 程式人生 > >python繼承與多繼承

python繼承與多繼承

1、類與物件裡的父類與子類(繼承):

類的繼承主要是指自子類對於之前父類的方法的繼承,如果子類裡面寫了父類裡的方法,則它會將父類裡的方法覆蓋掉從而不能再呼叫到父類的方法。

2、為了解決父類與子類裡的同方法覆蓋問題,可以有以下兩種方法:

(1)呼叫未繫結的父類方法:

在同方法下面新增:

父類名稱.__init__(self)

(2)使用super函式:

在同方法下面新增:

super().__init__()

舉例如下:

方法2:

import random as r

class Fish:

    def __init__(self):

        self.x=r.randint(0,10)

        self.y=r.randint(0,10)

 

    def move(self):

        self.x-=1

        print("我的位置是:",self.x,self.y)

class Gold(Fish):

    pass

class SIM(Fish):

    pass

class Smart(Fish):

    def __init__(self):

        super().__init__()

        self.hungry=True

    def eat(self):

        if self.hungry:

            print("我的未來我做主")

            self.hungry=False

        else:

            print("告別了,我的過去")


方法1:

 

import random as r

class Fish:

    def __init__(self):

        self.x=r.randint(0,10)

        self.y=r.randint(0,10)

 

    def move(self):

        self.x-=1

        print("我的位置是:",self.x,self.y)

class Gold(Fish):

    pass

class SIM(Fish):

    pass

class Smart(Fish):

    def __init__(self):

        Fish.__init__(self)

        self.hungry=True

    def eat(self):

        if self.hungry:

            print("我的未來我做主")

            self.hungry=False

        else:

            print("告別了,我的過去")

3、對於類與物件的多繼承方法:

如果一個類想要同時具備不同類的方法,則可以利用多繼承的方法不過多繼承方法會使得程式碼比較混亂,所以並不經常使用,其格式如下:

 class C(A,B):

例如: