Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Introduksjon til komposisjon | Komposisjon
Objektorientert Programmering i Python

bookIntroduksjon 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.

1234567891011121314151617
class 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())
copy

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.

Note
Merk

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.

question mark

Hva er hovedfordelen med å bruke komposisjon?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 3. Kapittel 1
some-alt