Skillnad mellan versioner av "Accessmetoder och Property"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 32: | Rad 32: | ||
= <b><span style="color:#931136">Klassen Empl</span></b> = | = <b><span style="color:#931136">Klassen Empl</span></b> = | ||
− | <div class=" | + | <div class="ovnC"> |
[[Image: Empl.jpg]] | [[Image: Empl.jpg]] | ||
</div> | </div> | ||
Rad 62: | Rad 62: | ||
Se [[2.7_Klassens_konstruktor#Konstruktorn_har_tre_egenskaper:|<b><span style="color:#931136">Konstruktorns egenskaper</span></b>]]. | Se [[2.7_Klassens_konstruktor#Konstruktorn_har_tre_egenskaper:|<b><span style="color:#931136">Konstruktorns egenskaper</span></b>]]. | ||
+ | </big> | ||
+ | </div> | ||
+ | |||
+ | |||
+ | = <b><span style="color:#931136">Klassen EmplP</span></b> = | ||
+ | <div class="ovnA"> | ||
+ | [[Image: EmplP.jpg]] | ||
+ | </div> | ||
+ | |||
+ | = <b><span style="color:#931136">Programmet Property</span></b> = | ||
+ | <div class="ovnA"> | ||
+ | [[Image: Property.jpg]] | ||
+ | |||
+ | |||
+ | <big>Klassen Circle:s datamedlem <b><span style="color:red">radius</span></b> är oåtkomlig här pga åtkomstmodifieraren <b><span style="color:red">private</span></b>. | ||
+ | |||
+ | Men vi kan initiera den med <b><span style="color:red">input</span></b> via den publika metoden <b><span style="color:red">Circle()</span></b> dvs klassens konstruktor. | ||
</big> | </big> | ||
</div> | </div> |
Versionen från 5 februari 2021 kl. 22.33
Lektion 22 | Genomgång | Övningar |
Inkapslingens 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 är publika accessmetoder. Det finns tre sorters accessmetoder:
- Get-metoder
- Set-metoder
- Strängrepresentationsmetoder
Klassen Empl
Programmet GetSet
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
Vad är Property?
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.
Klassen EmplP
Programmet Property
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.
Läs om accessmetoder och Property i kursboken på sid 132-136.
Copyright © 2021 TechPages AB. All Rights Reserved.