3 1類 方法的重寫

2022-05-21 04:30:39 字數 1234 閱讀 1774

# 2020.3.1

#重寫父類方法與呼叫父類方法

"""1.重寫父類方法

所謂重寫,就是子類中,有乙個和父類相同名字的方法,在子類中的方法會覆蓋

掉父類中同名的方法

重要:如何使用父類中相同方法名的方法,會優先呼叫子類中的該方法,需要在子類的定義中加入super().+方法。,

"""

class

animal:

#!!!!父類中定義init方法

def__init__

(self,name):

self.name =name

print('

物件的初始化')

self.color = '黃色'

defeat(self):

print('

能吃的動物')

defrun(self):

print('

能跑的動物')

。class

dog(animal):

#!!init和父類的init名字一樣,所以叫方法的重寫

def__init__

(self,name):

super().

__init__(self) #

!!!!當寫了這行**時候不覆蓋init內容 dog.color output:黃色 不報錯

self.name =name

print('

狗的初始化')

defset_name(self):

print('

狗的名字是%s

'%self.name)

defeat(self):

print('

狗的eat方法')

dog= dog('

小白') #

如果子類中對某個方法重寫了,優先呼叫 子類自己本身的方法

print

(dog.name)

print(dog.color)#

nameerror: name 'color' is not defined 父類中color沒有呼叫

#因為子類重寫了init方法

#雖然init方法重寫了,但是還想自動呼叫父類的init方法

#需要在子類內加入super().__init__() 即主動呼叫父類的init方法

print(dog.eat())#

如果希望呼叫父類裡的eat方法則需要在子類裡加入super().eat()

重寫父類的方法

重寫父類的方法 子類擴充套件父類 總是以父類為基礎,額外增加新的屬性和方法。但有一種情況例外 子類需要重寫父類的方法。例5.2 子類重寫父類的方法 public class bird public class ostrich extends bird public static void main ...

重寫父類的方法

源 class base public class base1 extends base public static void main string args 執行結果 1.繼承中子類對於父類方法的重寫就是在子類中定義乙個與那個被要重寫的方法相同名字的方法,這樣在子類物件的呼叫中就實現了子類中的方...

重寫父類方法

class animal def eat self print 吃 def drink self print 喝 class dog animal def bark self print 汪汪叫 class xtq dog 定義了乙個哮天犬 類 def bark self print 嗷嗷叫 cla...