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

bookIntroduksjon til komposisjon

Sveip for å vise menyen

Komposisjon representerer et har-en-relasjon, der en klasse inneholder en instans av en annen klasse i stedet for å arve fra den. For eksempel, en Car har en Engine. Dette er forskjellig fra arv, som modellerer en 'er-en-relasjon', slik som en Truck er et Vehicle.

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 en har-en-relasjon, ikke er-en, noe som gjør designet mer fleksibelt og lettere å endre senere.

Note
Merk

Komposisjon bør brukes når du trenger fleksible deler, tydelige grenser og utskifting av oppførsel under kjøring. Foretrekk arv når en ekte er-en-hierarki er åpenbar og stabil.

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 1. Kapittel 15

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 1. Kapittel 15
some-alt