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):
例如: