Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Introduction to Composition | Komposition
Objektorienteret Programmering i Python

bookIntroduction to Composition

Stryg for at vise menuen

Komposition repræsenterer et har-en-relation, hvor en klasse indeholder en instans af en anden klasse i stedet for at arve fra den. For eksempel, en Bil har en Motor. Dette adskiller sig fra arv, som modellerer en 'er-en-relation', såsom en Lastbil er et Køretøj.

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 indeholder den et Engine-objekt og bruger det til at udføre sit arbejde. Dette viser en har-en relation, ikke er-en, hvilket gør designet mere fleksibelt og lettere at ændre senere.

Note
Bemærk

Sammensætning bør anvendes, når der er behov for fleksible dele, klare grænser og udskiftning af adfærd under kørsel. Foretræk arv, når et ægte er-en hierarki er tydeligt og stabilt.

question mark

Hvad er den største fordel ved at bruge sammensætning?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 3. Kapitel 1
some-alt