Skillnad mellan versioner av "Accessmetoder och Property"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 57: Rad 57:
 
<div class="border-divblue">
 
<div class="border-divblue">
 
<big>
 
<big>
<b>Konstruktorn</b> är en publik metod vars uppgift är att initiera klassens privata datamedlemmar.
+
<b>Property</b> är en hybrid mellan datamedlem och metod, även kallad <b><span style="color:red">generaliserad datamedlem</span></b>.
  
Konstruktorn finns by default i alla klasser, men kan även skrivas i klassen. Se exemplet nedan.
+
Property är alltid publik och har uppgiften att automatisera Get- och Set-metoder i klasser med privata datamedlemmar
  
Se [[2.7_Klassens_konstruktor#Konstruktorn_har_tre_egenskaper:|<b><span style="color:#931136">Konstruktorns egenskaper</span></b>]].
+
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.
 
</big>
 
</big>
 
</div>
 
</div>

Versionen från 5 februari 2021 kl. 22.53

       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:

  1. Get-metoder
  2. Set-metoder
  3. Strängrepresentationsmetoder


Klassen Empl

Empl.jpg


Programmet GetSet

GetSet.jpg


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

CircleKorexa.jpg


Vad är Property?

Property är en hybrid mellan datamedlem och metod, även kallad generaliserad datamedlem.

Property är alltid publik och har uppgiften att automatisera 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


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.