我目前正在開發一款pygame遊戲。有兩個類。一個是Mass,另一個是Ball。 Ball是Mass的子類繼承是否可以影響子類中的方法?
我創建的每個對象都將從Mass繼承,它是一個基類。在我創建的對象中,我設計了實現重力的方法move
。但是我試圖完成的事情是在Mass
類中提供這種引力(基本上在方法中定義的負加速度值)。因此,通過在所有move
方法中編碼,避免重複。
因此我應該在Mass
中定義另一個move
方法。子類的方法會覆蓋它嗎?迄今爲止,我尋找解決方案的嘗試都失敗了。所以我不是要求你爲我寫一段代碼,我懇請你能否指出我正確的方向,也許告訴我應該探索什麼,我會很感激。
class Mass(object):
# The base class
class Ball(Mass):
def __init__(self, surface, radius, color, starting_pos):
self.radius = radius
self.color = color
self.starting_pos = starting_pos
self.surface = surface
def move(self):
# Keyboard handlers
def draw(self):
pygame.draw.circle(self.surface, self.color, (self.starting_pos), self.radius)
或者更一般地說,'super'即可。用於在對象的超類上調用方法。 –
所以這種調用方法實際上是一種方法來複制該方法的源代碼?這是一回事嗎? – Rockybilly
沒有源代碼的副本。這是對'Mass.move'方法的明確調用。 –