Skillnad mellan versioner av "Accessmetoder och Property"

Från Mathonline
Hoppa till: navigering, sök
(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...')
 
m
Rad 9: Rad 9:
  
  
= <b><span style="color:#931136">Vad är objektorienterad programmering?</span></b> =
+
= <b><span style="color:#931136">Inkapslingens ytterligare konsekvenser</span></b> =
 
<div class="ovnE">
 
<div class="ovnE">
==== <b><span style="color:#931136">Utdrag ur kursboken, sid 66:</span></b> ====
+
<big>
 +
Inkapsling innebär <b><span style="color:red">privata datamedlemmar</span></b>.
  
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: OOP Modell av verkligh.jpg]]</div>
+
[[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:
  
==== <b><span style="color:#931136">Utdrag ur kursboken, sid 71:</span></b> ====
+
Hur ska privata datamedlemmar <b><span style="color:red">ändras</span></b> efter initieringen när de är oåtkomliga?
  
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: OOP Tre hornstenar.jpg]]</div>
+
Hur ska de <b><span style="color:red">läsas</span></b>, hur ska de <b><span style="color:red">skrivas</span></b>?
</div>
+
 
+
 
+
= <b><span style="color:#931136">Vad är inkapsling?</span></b> =
+
<div class="ovnC">
+
 
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Inkapslinga.jpg]]</div>
+
 
+
<big><b><span style="color:red">Problem:</span></b>
+
 
+
Hur ska privata datamedlemmar initieras när de är private, dvs oåtkomliga?
+
  
 
<b><span style="color:red">Lösningen:</span></b>
 
<b><span style="color:red">Lösningen:</span></b>
  
Man använder publika metoder för att via dem komma åt klassens privata datamedlemmar.  
+
Man använder publika <b><span style="color:red">accessmetoder</span></b>. Det finns tre sorters accessmetoder:
  
En av dessa metoder är <b>klassens konstruktor</b>.
+
# 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:

  1. Get-metoder
  2. Set-metoder
  3. 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.

Se Konstruktorns egenskaper.


Exempel: Klassen Circle

CircleKonstr.jpg


Programmet Encapsulation

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


Konstruktorn har tre egenskaper:

KonstrEgenskapera.jpg


Läs om Klassens konstruktor i kursboken på sid 95-100.


 










Copyright © 2021 TechPages AB. All Rights Reserved.