Skillnad mellan versioner av "Accessmetoder och Property"
Från Mathonline
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) 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| | + | {{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:
- Get-metoder
- Set-metoder
- Strängrepresentationsmetoder
Klassen Empl
Programmet GetSet
Ett körexempel
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
Programmet Property
Körexempel: samma som ovan.
Läs om accessmetoder och Property i kursboken på sid 132-136.
Copyright © 2021 TechPages AB. All Rights Reserved.