Skillnad mellan versioner av "4.1 Komposition"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 12: Rad 12:
 
<div class="ovnE">
 
<div class="ovnE">
 
<big>
 
<big>
Inkapsling innebär att ha <b><span style="color:red">privata datamedlemmar</span></b>.
+
En <b><span style="color:red">bil</span></b> har en <b><span style="color:red">motor</span></b>. Båda är tekniskt komplexa objekt, byggda av experter.
  
[[2.7_Klassens_konstruktor|<b><span style="color:blue">Konstruktorn</span></b>]] löser problemet med <b><span style="color:red">initieringen</span></b> av privata datamedlemmar. Men:
+
Man sätter ihop bilen som ett objekt av <b><span style="color:red">klassen Bil</span></b> genom att bygga in i den bl.a. en motor som i sin tur är ett objekt av en an¬nan klass, <b><span style="color:red">klassen Motor</span></b>.  
 
----
 
----
 
<b><span style="color:red">Problem</span></b> som kvarstår:
 
<b><span style="color:red">Problem</span></b> som kvarstår:

Versionen från 21 april 2021 kl. 09.55

       Lektion 29          Genomgång          Övningar      


Vad är komposition i programmering?

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 bl.a. en motor som i sin tur är ett objekt av en an¬nan klass, klassen Motor.


Problem som kvarstår:

Hur ska privata datamedlemmar ändras efter initieringen när de är oåtkomliga?

Hur ska de läsas, hur ska de skrivas efter initieringen?


Lösningen är publika accessmetoder. Det finns tre sorters accessmetoder:

  1. Get-metoder
  2. Set-metoder
  3. Strängrepresentationsmetoder


Klassen Empl

Empl.jpg


Programmet GetSet

GetSet.jpg


Ett körexempel

GetSetKorex.jpg


Vad är Property?

Property är en hybrid mellan datamedlem och metod som alltid är publik.

Property automatiserar Get- och Set-metoder i klasser med privata datamedlemmar.

Property är till för att utanför klassen kunna läsa värdet av och skriva ett nytt värde till en privat datamedlem.


Klassen EmplP

EmplP.jpg


Programmet Property

Property.jpg


Körexempel: samma som ovan.


Läs om accessmetoder och Property i kursboken på sid 132-136.


 










Copyright © 2021 TechPages AB. All Rights Reserved.