Skillnad mellan versioner av "Accessmetoder och Property"
Taifun (Diskussion | bidrag) (Skapade sidan med '__NOTOC__ {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | style="border-bottom:1px solid #797979" width="5px" | {{Not selected tab|Lektion 22...') |
Taifun (Diskussion | bidrag) m |
||
Rad 9: | Rad 9: | ||
− | = <b><span style="color:#931136"> | + | = <b><span style="color:#931136">Inkapslingens ytterligare konsekvenser</span></b> = |
<div class="ovnE"> | <div class="ovnE"> | ||
− | + | <big> | |
+ | Inkapsling innebär <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. |
+ | <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>? | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<b><span style="color:red">Lösningen:</span></b> | <b><span style="color:red">Lösningen:</span></b> | ||
− | Man använder publika | + | Man använder publika <b><span style="color:red">accessmetoder</span></b>. Det finns tre sorters accessmetoder: |
− | + | # Get-metoder | |
− | + | # Set-metoder | |
+ | # Strängrepresentationsmetoder | ||
</big> | </big> | ||
</div> | </div> |
Versionen från 5 februari 2021 kl. 22.21
Lektion 22 | Genomgång | Övningar |
Inkapslingens ytterligare konsekvenser
Inkapsling innebär privata datamedlemmar.
Konstruktorn löser problemet med initieringen av privata datamedlemmar.
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?
Lösningen:
Man använder publika accessmetoder. Det finns tre sorters accessmetoder:
- Get-metoder
- Set-metoder
- Strängrepresentationsmetoder
Vad är en konstruktor?
Konstruktorn är en publik metod vars uppgift är att initiera klassens privata datamedlemmar.
Konstruktorn finns by default i alla klasser, men kan även skrivas i klassen. Se exemplet nedan.
Exempel: Klassen Circle
Programmet Encapsulation
Klassen Circle:s datamedlem radius är oåtkomlig här pga åtkomstmodifieraren private.
Men vi kan initiera den med input via den publika metoden Circle() dvs klassens konstruktor.
Ett körexempel
Konstruktorn har tre egenskaper:
Läs om Klassens konstruktor i kursboken på sid 95-100.
Copyright © 2021 TechPages AB. All Rights Reserved.