Skillnad mellan versioner av "Variablers livslängd & Överskuggning av variabler"
Från Mathonline
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 31: | Rad 31: | ||
<big><big> | <big><big> | ||
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. | 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. | ||
− | |||
− | |||
<b><span style="color:red">x</span></b> "tränger genom" det inre blocket: blir 11 där och är 11 även efter det. | <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 initieras till 100. | ||
Variabeln <b><span style="color:red">y</span></b> är inte giltig i det yttre blocket. | Variabeln <b><span style="color:red">y</span></b> är inte giltig i det yttre blocket. |
Versionen från 8 mars 2021 kl. 18.37
Lektion 24 | Genomgång | Övningar |
Blockstruktur
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
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.
Variabeln y definieras i det inre blocket och initieras till 100.
Variabeln y är inte giltig i det yttre blocket.
Körexempel
Klassen EncryptStr
Programmet EncryptStrTest
Ett körexempel
Läs om Statiska metoder och Referens i metoder i kursboken på sid 137-141.
Copyright © 2021 TechPages AB. All Rights Reserved.