函數重寫使子類別能夠為父類別函數提供自訂實現,而不會影響父類別行為。子類別只需聲明一個具有相同名稱和參數列表的新函數。例如,Shape 類別中的 area() 函數由 Rectangle 類別重寫,為矩形提供客製化的面積計算,同時仍利用 Shape 類別的抽象方法。
函數重寫的技巧:釋放子類別程式碼專屬優勢
函數重寫允許子類別在不影響父類實作的情況下,為同名函數提供自己的實作。這樣做可以使子類別自訂其行為,同時仍然利用父類別的功能。
要重寫函數,子類別只需宣告一個具有相同名稱和參數清單的新函數。子類別的實作將覆蓋父類別的實作。
程式碼範例:
class Shape: def area(self): raise NotImplementedError class Rectangle(Shape): def __init__(self, length, width): self.length = length self.width = width def area(self): return self.length * self.width # 创建矩形对象 rectangle = Rectangle(5, 10) # 调用重写的 area() 函数 print(rectangle.area()) # 输出:50
實戰案例:
考慮一個Shape 類,它提供了一個抽象的area()
函數來計算形狀的面積。現在,我們想建立 Rectangle 類,它繼承自 Shape 類別並提供 Rectangle 形狀的特定面積計算。
透過重寫 area()
函數,我們可以為 Rectangle 類別新增針對矩形的客製化實現,而無需修改父類別 Shape 的實作。這使我們能夠靈活地為不同類型的形狀提供特定於形狀的程式碼。
提示:
以上是函數重寫的技巧:掌握子類別專屬程式碼的編寫秘訣的詳細內容。更多資訊請關注PHP中文網其他相關文章!