Skillnad mellan versioner av "Kap 8 Klasser (24)"

Från Mathonline
Hoppa till: navigering, sök
(Skapade sidan med '__NOTOC__ <big>Mån 30 okt, kl 13-16</big> {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | style="border-bottom:1px solid #797979" width="5px" | &nb...')
 
m
Rad 17: Rad 17:
 
= <b><span style="color:#931136">Kap 8 Klasser (forts.)</span></b> =
 
= <b><span style="color:#931136">Kap 8 Klasser (forts.)</span></b> =
  
= <b><span style="color:#931136">8.4 &nbsp; Konstruktor (forts.)</span></b> =
+
= <b><span style="color:#931136">8.5 &nbsp; Accessmetoder</span></b> =
  
= <b><span style="color:#931136">Flera konstruktorer</span></b> =
 
 
<div class="ovnE">
 
<div class="ovnE">
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Flera_konstr.jpg]]</div>
+
=== <b><span style="color:#931136">Inkapslingens konsekvenser</span></b> ===
 +
<big>
 +
Inkapsling innebär inkluderingen av <b><span style="color:red">privata datamedlemmar</span></b> i sitt program.
 +
 
 +
[[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:
 +
----
 +
<b><span style="color:red">Problem</span></b> som kvarstår:
 +
 
 +
Hur ska privata datamedlemmar <b><span style="color:red">ändras</span></b> efter initieringen när de är oåtkomliga?
 +
 
 +
Hur ska de <b><span style="color:red">läsas</span></b>, hur ska de <b><span style="color:red">skrivas</span></b> efter initieringen?
 +
----
 +
<b><span style="color:red">Lösningen</span></b> är publika <b><span style="color:red">accessmetoder</span></b>. Det finns tre sorters accessmetoder:
 +
<b>
 +
# &nbsp; &nbsp; Get-metoder
 +
# &nbsp; &nbsp; Set-metoder
 +
# &nbsp; &nbsp; Strängrepresentationsmetoder
 +
</b></big>
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Klassen Circles</span></b> =
+
= <b><span style="color:#931136">Get- och Set-metoder</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Circles_h.jpg]]</div>
+
=== <b><span style="color:#931136">Klassen Empl</span></b> ===
</div>
+
[[Image: Empl.jpg]]
  
  
= <b><span style="color:#931136">Programmet MoreConstr</span></b> =
+
=== <b><span style="color:#931136">Programmet GetSet</span></b> ===
<div class="ovnA">
+
[[Image: GetSet.jpg]]
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: MoreConstr.jpg]]</div>
+
  
  
=== <b><span style="color:#931136">Körresultat</span></b> ===
+
=== <b><span style="color:#931136">Ett körexempel</span></b> ===
[[Image: MoreConstr_Korexa.jpg]]
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: GetSetKorex.jpg]]</div>
 
</div>
 
</div>
  

Versionen från 28 oktober 2023 kl. 18.42

Mån 30 okt, kl 13-16


        <<  Agenda          Genomgång 24          Övningar 24          Planering          Nästa lektion  >>      


Kap 8 Klasser (forts.)

8.5   Accessmetoder

Inkapslingens konsekvenser

Inkapsling innebär inkluderingen av privata datamedlemmar i sitt program.

Konstruktorn löser problemet med initieringen av privata datamedlemmar. Men:


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


Get- och Set-metoder

Klassen Empl

Empl.jpg


Programmet GetSet

GetSet.jpg


Ett körexempel

GetSetKorex.jpg


Objektorienterad initiering

Programmet ObjInit

ObjInit.jpg



Gå vidare till:        när du är klar med denna genomgång.











Copyright © 2023. All Rights Reserved.