欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 重寫和派生

阮建安2年前8瀏覽0評論

在Python 中,有兩種擴展已有類的方法:重寫和派生。

重寫是指覆蓋父類中的方法或添加新方法以改變類的行為。派生是指創建一個新類,繼承自父類并可以重用其代碼和數據。

class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
def start(self):
print("The car is starting")
class ElectricCar(Car):
def __init__(self, make, model, year, battery_size):
super().__init__(make, model, year)
self.battery_size = battery_size
def start(self):
super().start()
print("Starting electric engine")

在上面的代碼中,ElectricCar類是從Car類繼承而來的,它重寫了start()方法并添加了一些額外的行為。此外,ElectricCar類還擴展了Car類的數據屬性并在自己的構造函數中初始化了它們。

在ElectricCar類的start()方法中,我們首先調用super().start(),它會調用父類中的start()方法并打印"The car is starting"。然后,ElectricCar類會打印"Starting electric engine"。

除了重寫和派生之外,Python還提供了一種魔術方法__str__(),它允許我們自定義類的字符串表示形式。

class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"Name: {self.name}, Age: {self.age}"
class Employee(Person):
def __init__(self, name, age, salary):
super().__init__(name, age)
self.salary = salary
def __str__(self):
return super().__str__() + f", Salary: {self.salary}"

在上面的代碼中,我們重寫了Person和Employee類的__str__()方法,以返回自定義的字符串表示形式。在Employee類的__str__()方法中,我們首先調用super().__str__()以獲取Person類的字符串表示形式,然后添加一個額外的逗號和薪水。

在Python中,重寫和派生是非常常見的技術,它們可以讓我們擴展或修改現有的類,以滿足我們的需求。