Skillnad mellan versioner av "5.8 Komposition"

Från Mathonline
Hoppa till: navigering, sök
m
m
 
(8 mellanliggande versioner av samma användare visas inte)
Rad 11: Rad 11:
  
  
= <b><span style="color:#931136">1.7 &nbsp; Komposition</span></b> =
+
= <b><span style="color:#931136">5.8 &nbsp; Komposition</span></b> =
 
<div class="ovnE">
 
<div class="ovnE">
 
<big>
 
<big>
Rad 22: Rad 22:
 
<b><span style="color:red">Komposition</span></b> är sammansättning av ett objekt med ett annat objekt (komponent).
 
<b><span style="color:red">Komposition</span></b> är sammansättning av ett objekt med ett annat objekt (komponent).
  
För att kunna sammansätta objekt måste man först sammansätta <b><span style="color:red">klasser</span></b>.
+
Sammansättning av objekt förutsätter sammansättning av <b><span style="color:red">klasser</span></b>.
  
Komposition betyder sammansättning och är relaterad till <b><span style="color:red">modularisering</span></b>.
+
<b><span style="color:red">Modularisering</span></b> betyder nu komposition av klasser <math>-</math> de nya modulerna.
 +
 
 +
De gamla modulerna <math>-</math> funktionerna <math>-</math> ingår som metoder i de nya.
 
----
 
----
 
Med hjälp av Lego-principen bygger man program med hjälp av redan skrivna
 
Med hjälp av Lego-principen bygger man program med hjälp av redan skrivna
  
klasser som kan ingå som komponenter i andra klasser. Vi har:
+
klasser som kan ingå som komponenter i andra klasser.  
  
# <b><span style="color:red">Komposition av klasser</span></b>
+
Vi kommer att genomföra det i två steg:
 +
 
 +
# <b><span style="color:red">Komposition hos klasser</span></b>
 
# <b><span style="color:red">Komposition av objekt</span></b>
 
# <b><span style="color:red">Komposition av objekt</span></b>
 +
 +
Men först deklarerar vi en klass som sedan ska ingå i en annan klass:
 
</big>
 
</big>
 
</div>
 
</div>
Rad 38: Rad 44:
 
= <b><span style="color:#931136">Klassen Date</span></b> =
 
= <b><span style="color:#931136">Klassen Date</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
[[Image: Date.jpg]]
+
[[Image: Date_h.jpg]]
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Komposition av klasser</span></b> =
+
= <b><span style="color:#931136">Komposition hos klasser</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
=== <b><span style="color:#931136">Klassen Employ</span></b> ===
+
=== <span style="color:#931136">Klassen Employ</span> ===
[[Image: Employ.jpg]]
+
[[Image: Employ_h.jpg]]
 
</div>
 
</div>
  
Rad 51: Rad 57:
 
= <b><span style="color:#931136">Komposition av objekt</span></b> =
 
= <b><span style="color:#931136">Komposition av objekt</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
=== <b><span style="color:#931136">Programmet Composition</span></b> ===
+
=== <span style="color:#931136">Programmet Composition</span> ===
[[Image: Composition.jpg]]
+
[[Image: Composition_cpp_1.jpg]]
 +
[[Image: Composition_cpp_2.jpg]]
 
</div>
 
</div>

Nuvarande version från 12 februari 2026 kl. 10.20

       Agenda          Genomgång 26          Övningar 26          Nästa lektion  >>      


5.8   Komposition

En bil har en motor. Båda är tekniskt komplexa objekt, byggda av experter.

Man sätter ihop bilen som ett objekt av klassen Bil genom att bygga in i den

en motor som i sin tur är ett objekt av en annan klass, klassen Motor.


Komposition är sammansättning av ett objekt med ett annat objekt (komponent).

Sammansättning av objekt förutsätter sammansättning av klasser.

Modularisering betyder nu komposition av klasser \(-\) de nya modulerna.

De gamla modulerna \(-\) funktionerna \(-\) ingår som metoder i de nya.


Med hjälp av Lego-principen bygger man program med hjälp av redan skrivna

klasser som kan ingå som komponenter i andra klasser.

Vi kommer att genomföra det i två steg:

  1. Komposition hos klasser
  2. Komposition av objekt

Men först deklarerar vi en klass som sedan ska ingå i en annan klass:


Klassen Date

Date h.jpg


Komposition hos klasser

Klassen Employ

Employ h.jpg


Komposition av objekt

Programmet Composition

Composition cpp 1.jpg Composition cpp 2.jpg