python物件的繼承和重寫

2021-07-30 05:07:23 字數 1443 閱讀 9601

class dog(animal):

def __init__(self,name):

animal.__init__(self,name)

def bark(self):

print self.name," can bark"

d = dog("xiao li")

d.bark()

上面定義了乙個類animal,它以class 關鍵字開頭,類中的方法用def關鍵字開頭,類中的init是類的構造方法,在生成例項的時候會自動呼叫,類中還定義了show方法,它用於列印例項的變數name,每個方法都帶有引數self,它可以認為是當前的物件自身。

class animal():

def __init__(self,name):

self.name = name

print "this is super class",name

def show(self):

print self.name," is beautifull"

a = animal("xiao zhang")

a.show()

上面的dog類繼承自基類animal,它的構造方法中呼叫了基類的構造方法animal.__int__(); 這一點需要注意,python的派生類例項化物件時,並不會自動基類的構造方法。派生類物件會首先在本類查詢init方法,如果找到就呼叫然後完成例項化,如果找不到,則會在基類中尋找init方法完成例項化。

python的多重繼承

class base1():

def __init__(self):

print "call the class class1"

def show(self):

print "the method base1 show"

class base2():

def __init__(self):

print "call the class class2"

class base3(base1,base2):

#def __init__(self):

#base1.__init__(self)

#base2.__init__(self)

#print "call the class base3"

pass

b1 = base1()

b2 = base2()

b3 = base3()

b3.show()

派生類在例項化時,首先查詢本類中的構造方法,如果有則呼叫本類的構造方法,如果沒有,則呼叫第乙個呼叫基類的構造的方法,如上面的b1如果不定義構造方法,會呼叫base1的構造方法。除了構造方法外,其它方法的呼叫方式與此類似,如b1.show(),會呼叫base1中的show()方法。

python物件的繼承和重寫

class dog animal def init self,name animal.init self,name def bark self print self.name,can bark d dog xiao li d.bark 上面定義了乙個類animal,它以class 關鍵字開頭,類中的...

python重寫 python的繼承和重寫

class classname baseclasslist 類的幫助資訊 staement 類體 classname 用於指定類名 baseclasslist 用於指定要繼承的基類 也就是父類 可以有多個,類名之間用逗號分隔 類的幫助資訊 用於指定類的文件字串,定義該字串後,在建立類的物件時,輸入類...

繼承和重寫

1.繼承是從已有的類中派生出新的類,新的類能吸收已有類的資料屬性和行為,並擴充套件新的能力 繼承的語法格式 修飾符 class 子類 extends 父類 如 public class englishbook extends book 繼承的優點 提高了 的復用性 降低程式的耦合性提高可維護性 繼承...