Skillnad mellan versioner av "Variablers livslängd & Överskuggning av variabler"

Från Mathonline
Hoppa till: navigering, sök
m
m
 
(18 mellanliggande versioner av samma användare visas inte)
Rad 30: Rad 30:
  
 
<big><big>
 
<big><big>
Variabeln <b><span style="color:red">x</span></b> definieras i det <b><span style="color:red">yttre blocket</span></b> och initieras till 10.
+
Den lokala variabeln <b><span style="color:red">x</span></b> definieras i det <b><span style="color:red">yttre blocket</span></b> och initieras till 10.
  
Variabeln <b><span style="color:red">y</span></b> definieras i det <b><span style="color:red">inre blocket</span></b> och initieras till 100.
+
<b><span style="color:red">x</span></b> "tränger genom" det inre blocket: blir 11 där och är 11 även efter det inre blocket.
  
Den lokala variabeln <b><span style="color:red">x</span></b> "tränger genom" det inre blocket: blir 11 där och är 11 även efter det.
+
Variabeln <b><span style="color:red">y</span></b> definieras i det <b><span style="color:red">inre blocket</span></b> och "dör" efter det inre blocket.
 
+
Variabeln <b><span style="color:red">y</span></b> är inte giltig i det yttre blocket.
+
 
</big></big>
 
</big></big>
 
</div>
 
</div>
Rad 47: Rad 45:
  
  
= <b><span style="color:#931136">Klassen EncryptStr</span></b> =
+
= <b><span style="color:#931136">Överskuggning av variabler: Uppgiften</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
[[Image: EncryptStra.jpg]]
+
[[Image: Uppgiften.jpg]]
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Programmet EncryptStrTest</span></b> =
+
= <b><span style="color:#931136">Referensen this</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
[[Image: EncryptStrTesta.jpg]]
+
[[Image: thisb.jpg]]
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Ett körexempel</span></b> =
+
= <b><span style="color:#931136">Lösningen: Programmet OverrideVar</span></b> =
 +
<div class="ovnC">
 +
[[Image: Override.jpg]]
 +
 
 +
<big><big>
 +
Metoden Inner():s lokala variabel <b><span style="color:red">bonus</span></b> överskuggar datamedlemmen <b><span style="color:green">bonus</span></b>.
 +
</big></big>
 +
</div>
 +
 
 +
 
 +
= <b><span style="color:#931136">Överskuggning</span></b> =
 +
<div class="ovnC">
 +
[[Image: Overridea.jpg]]
 +
</div>
 +
 
 +
 
 +
= <b><span style="color:#931136">Körexempel</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: EncryptKorex.jpg]]</div>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: OverrideVarKorex.jpg]]</div>
 
</div>
 
</div>
  
 
<br>
 
<br>
  
= <b><span style="color:#931136">Läs om Statiska metoder och Referens i metoder i kursboken på sid 137-141.</span></b> =
+
= <b><span style="color:#931136">Läs om Variablers livslängd och Överskuggning av variabler i [http://www.mathonline.se/Progr_2/Boken%20Progr_2_Cs.pdf <span style="color:blue">kursboken</span>] på sid 164-171.</span></b> =
  
  
Rad 92: Rad 106:
  
  
[[Matte:Copyrights|Copyright]] © 2021 [https://www.techpages.se <b><span style="color:blue">TechPages AB</span></b>]. All Rights Reserved.
+
[[Matte:Copyrights|Copyright]] © 2022 [https://www.techpages.se <b><span style="color:blue">TechPages AB</span></b>]. All Rights Reserved.

Nuvarande version från 11 mars 2022 kl. 09.25

       Lektion 24          Genomgång          Övningar      


Blockstruktur

Blockstruktur.jpg


Variablers räckvidd (eng. scope), blir ett problem när programmen växer.

Reglerna ovan (eng. scoping) tillämpas automatiskt.

Överskuggning av variabler (eng. overriding) är ett verktyg för att styra variablers livslängd.


Programmet Block

Block.jpg


Den lokala variabeln x definieras i det yttre blocket och initieras till 10.

x "tränger genom" det inre blocket: blir 11 där och är 11 även efter det inre blocket.

Variabeln y definieras i det inre blocket och "dör" efter det inre blocket.


Körexempel

BlockKorex.jpg


Överskuggning av variabler: Uppgiften

Uppgiften.jpg


Referensen this

Thisb.jpg


Lösningen: Programmet OverrideVar

Override.jpg

Metoden Inner():s lokala variabel bonus överskuggar datamedlemmen bonus.


Överskuggning

Overridea.jpg


Körexempel

OverrideVarKorex.jpg


Läs om Variablers livslängd och Överskuggning av variabler i kursboken på sid 164-171.


 










Copyright © 2022 TechPages AB. All Rights Reserved.