在Python中,我們可以使用組合和繼承來進行“代碼重用”。這兩種技術都可以使我們創建新的類時,利用已有的代碼。
組合(Composition)指的是創建一個類中包含其它類的實例作為它的屬性。這樣我們就可以在新類里使用被包含類的屬性和方法,從而實現代碼重用。
class Engine: def __init__(self): self.type = "Gas" self.power = 200 class Car: def __init__(self): self.engine = Engine() self.color = "Blue" my_car = Car() print(my_car.engine.type) # Output: Gas
上述代碼中,我們創建了兩個類:Engine和Car。在Car類的構造函數中,我們創建了Engine類的實例,把它賦值給了Car的engine屬性。這樣我們就可以在Car類里使用Engine類的屬性和方法。
繼承(Inheritance)指的是創建一個新類,它繼承了現有類的所有屬性和方法。新類被稱為子類(Derived Class),而現有類被稱為父類(Base Class)。子類可以重寫父類的方法來實現不同的行為,或者添加新的屬性和方法。
class Animal: def __init__(self, name): self.name = name def make_sound(self): print("The animal makes a sound.") class Dog(Animal): def __init__(self, name): super().__init__(name) def make_sound(self): print("The dog barks.") my_dog = Dog("Buddy") print(my_dog.name) # Output: Buddy my_dog.make_sound() # Output: The dog barks.
上述代碼中,我們創建了兩個類:Animal和Dog。Dog是Animal的子類。在Dog類的構造函數中,我們調用了父類的構造函數,并重寫了make_sound方法。這樣我們就可以在Dog類里使用Animal類的屬性和方法,同時實現不同的行為。
下一篇c 在json加入空