Introduksjon til komposisjon
Sveip for å vise menyen
Komposisjon representerer et har-en-forhold, der en klasse inneholder en instans av en annen klasse i stedet for å arve fra den. For eksempel, en Bil har en Motor. Dette skiller seg fra arv, som modellerer et 'er-en'-forhold, slik som en Lastebil er et Kjøretøy.
1234567891011121314151617class Engine: def start(self): return "Engine started" class Car: def __init__(self, brand, engine): self.brand = brand self.engine = engine # Car HAS an Engine def drive(self): return f"{self.brand}: {self.engine.start()}" engine = Engine() car = Car("Toyota", engine) print(car.drive())
Car arver ikke fra Engine. I stedet inneholder den et Engine-objekt og bruker det til å utføre sitt arbeid. Dette viser et har-en-forhold, ikke er-en, noe som gjør designet mer fleksibelt og enklere å endre senere.
Komposisjon bør brukes når du trenger fleksible deler, tydelige avgrensninger og utskifting av oppførsel under kjøring. Foretrekk arv når et klart er-en hierarki er åpenbart og stabilt.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår