Skillnad mellan versioner av "Accessmetoder och Property"

Från Mathonline
Hoppa till: navigering, sök
m
m
 
(4 mellanliggande versioner av samma användare visas inte)
Rad 3: Rad 3:
 
| style="border-bottom:1px solid #797979" width="5px" |  
 
| style="border-bottom:1px solid #797979" width="5px" |  
 
{{Not selected tab|[[Lektion 22 (Csharp 2)|Lektion 22]]}}
 
{{Not selected tab|[[Lektion 22 (Csharp 2)|Lektion 22]]}}
{{Selected tab|[[Accessmetoder och Property|Eget arbete (teori)]]}}
+
{{Selected tab|[[Accessmetoder och Property|Genomgång]]}}
 
{{Not selected tab|[[Övningar 22 (Csharp 2)|Övningar]]}}
 
{{Not selected tab|[[Övningar 22 (Csharp 2)|Övningar]]}}
 
| style="border-bottom:1px solid #797979"  width="100%"|  
 
| style="border-bottom:1px solid #797979"  width="100%"|  
Rad 12: Rad 12:
 
<div class="ovnE">
 
<div class="ovnE">
 
<big>
 
<big>
Inkapsling innebär <b><span style="color:red">privata datamedlemmar</span></b>.
+
Inkapsling innebär att ha <b><span style="color:red">privata datamedlemmar</span></b>.
  
[[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.
+
[[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:
 
<b><span style="color:red">Problem</span></b> som kvarstår:
Rad 20: Rad 20:
 
Hur ska privata datamedlemmar <b><span style="color:red">ändras</span></b> efter initieringen när de är oåtkomliga?
 
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>?
+
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><span style="color:red">Lösningen</span></b> är publika <b><span style="color:red">accessmetoder</span></b>. Det finns tre sorters accessmetoder:
Rad 73: Rad 73:
  
  
= <b><span style="color:#931136">Körexempel: samma som ovan</span></b> =
+
= <b><span style="color:#931136">Körexempel: samma som ovan.</span></b> =
  
 +
<br>
  
 
= <b><span style="color:#931136">Läs om accessmetoder och Property i kursboken på sid 132-136.</span></b> =
 
= <b><span style="color:#931136">Läs om accessmetoder och Property i kursboken på sid 132-136.</span></b> =

Nuvarande version från 23 februari 2021 kl. 00.18

       Lektion 22          Genomgång          Övningar      


Inkapslingens konsekvenser

Inkapsling innebär att ha privata datamedlemmar.

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


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.