Python是一種非常強大的編程語言,它提供了兩種重要的方法重寫和重載,來幫助程序員更好地構建程序。
def __str__(self): # 重寫 return f"This is a {self.__class__.__name__} object." def __add__(self, other): # 重載 return self.val + other.val
重寫是指在父類中定義的某些方法可以在子類中重新定義,以滿足不同的業務需求,但仍然繼承了父類的基本行為和結構。
例如,我們可以在子類中重寫父類的__str__()方法:
class Square: def __init__(self, length): self.length = length def __str__(self): return f"This is a square with length {self.length}."
運行結果:
s = Square(5) print(s) # This is a square with length 5.
而重載是指在類中定義新的方法,同時具有相同名稱但不同參數的方法。重載能夠讓相同的函數在不同的情況下具有不同的行為。
例如,我們可以在類中定義一個帶有相同名稱的__add__()方法,但是其參數不同,以實現對象的加法運算:
class SimpleNumber: def __init__(self, val): self.val = val def __add__(self, other): return self.val + other.val a = SimpleNumber(10) b = SimpleNumber(20) print(a + b) # 30
通過重載,我們能夠讓代碼更加簡潔和靈活,同時使其更易于維護和擴展。