Skillnad mellan versioner av "Kap 3 Metoder i OOP"

Från Mathonline
Hoppa till: navigering, sök
m
m
 
(6 mellanliggande versioner av samma användare visas inte)
Rad 26: Rad 26:
 
----
 
----
 
<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:
 
+
<b>
# Get-metoder
+
# &nbsp; &nbsp; Get-metoder
# Set-metoder
+
# &nbsp; &nbsp; Set-metoder
# Strängrepresentationsmetoder
+
# &nbsp; &nbsp; Strängrepresentationsmetoder
</big>
+
</b></big>
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Klassen Empl</span></b> =
+
= <b><span style="color:#931136">Get- och Set-metoder</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
 +
=== <b><span style="color:#931136">Klassen Empl</span></b> ===
 
[[Image: Empl.jpg]]
 
[[Image: Empl.jpg]]
</div>
 
  
  
= <b><span style="color:#931136">Programmet GetSet</span></b> =
+
=== <b><span style="color:#931136">Programmet GetSet</span></b> ===
<div class="ovnC">
+
 
[[Image: GetSet.jpg]]
 
[[Image: GetSet.jpg]]
</div>
 
  
  
= <b><span style="color:#931136">Ett körexempel</span></b> =
+
=== <b><span style="color:#931136">Ett körexempel</span></b> ===
<div class="ovnC">
+
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: GetSetKorex.jpg]]</div>
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: GetSetKorex.jpg]]</div>
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Vad är Property?</span></b> =
+
= <b><span style="color:#931136">3.2 &nbsp; Property</span></b> =
 
<div class="border-divblue">
 
<div class="border-divblue">
 
<big>
 
<big>
Rad 64: Rad 61:
  
  
= <b><span style="color:#931136">Klassen EmplP</span></b> =
 
 
<div class="ovnA">
 
<div class="ovnA">
 +
=== <b><span style="color:#931136">Klassen EmplP</span></b> ===
 
[[Image: EmplP.jpg]]
 
[[Image: EmplP.jpg]]
</div>
 
  
  
= <b><span style="color:#931136">Programmet Property</span></b> =
+
=== <b><span style="color:#931136">Programmet Property</span></b> ===
<div class="ovnA">
+
 
[[Image: Property.jpg]]
 
[[Image: Property.jpg]]
</div>
 
  
  
= <b><span style="color:#931136">Körexempel: samma som ovan.</span></b> =
+
=== <b><span style="color:#931136">Körexempel: samma som ovan.</span></b> ===
 
+
</div>
  
  

Nuvarande version från 27 november 2022 kl. 17.50

        <<  Agenda          Genomgång          Dagens övningar          Nästa lektion  >>      


3.1   Accessmetoder

Inkapslingens konsekvenser

Inkapsling innebär inkluderingen av privata datamedlemmar i sitt program.

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


Get- och Set-metoder

Klassen Empl

Empl.jpg


Programmet GetSet

GetSet.jpg


Ett körexempel

GetSetKorex.jpg


3.2   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.









Copyright © 2022 TechPages AB. All Rights Reserved.