Skillnad mellan versioner av "Kap 3 Metoder i OOP"
Från Mathonline
Taifun (Diskussion | bidrag) (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 4...') |
Taifun (Diskussion | bidrag) m |
||
(10 mellanliggande versioner av samma användare visas inte) | |||
Rad 11: | Rad 11: | ||
<br> | <br> | ||
− | = <b><span style="color:#931136"> | + | = <b><span style="color:#931136">3.1 Accessmetoder</span></b> = |
<div class="ovnE"> | <div class="ovnE"> | ||
− | === <b><span style="color:#931136"> | + | === <b><span style="color:#931136">Inkapslingens konsekvenser</span></b> === |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<big> | <big> | ||
− | <b><span style="color:red"> | + | Inkapsling innebär inkluderingen av <b><span style="color:red">privata datamedlemmar</span></b> i sitt program. |
− | <b><span style="color: | + | [[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. Men: |
+ | ---- | ||
+ | <b><span style="color:red">Problem</span></b> som kvarstår: | ||
− | + | Hur ska privata datamedlemmar <b><span style="color:red">ändras</span></b> efter initieringen när de är oåtkomliga? | |
− | + | Hur ska de <b><span style="color:red">läsas</span></b>, hur ska de <b><span style="color:red">skrivas</span></b> efter initieringen? | |
− | + | ---- | |
− | <b><span style="color:red"> | + | <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> | |
− | <b><span style="color:red"> | + | # Get-metoder |
− | + | # Set-metoder | |
− | + | # Strängrepresentationsmetoder | |
− | + | </b></big> | |
− | + | ||
− | </big> | + | |
</div> | </div> | ||
− | = <b><span style="color:#931136"> | + | = <b><span style="color:#931136">Get- och Set-metoder</span></b> = |
− | <div class=" | + | <div class="ovnC"> |
− | === <b><span style="color:#931136"> | + | === <b><span style="color:#931136">Klassen Empl</span></b> === |
+ | [[Image: Empl.jpg]] | ||
− | |||
+ | === <b><span style="color:#931136">Programmet GetSet</span></b> === | ||
+ | [[Image: GetSet.jpg]] | ||
− | |||
− | |||
− | + | === <b><span style="color:#931136">Ett körexempel</span></b> === | |
− | + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: GetSetKorex.jpg]]</div> | |
− | + | ||
− | + | ||
− | + | ||
− | </ | + | |
</div> | </div> | ||
+ | = <b><span style="color:#931136">3.2 Property</span></b> = | ||
<div class="border-divblue"> | <div class="border-divblue"> | ||
− | + | <big> | |
− | + | <b>Property</b> ä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. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</big> | </big> | ||
</div> | </div> | ||
− | = <b><span style="color:#931136"> | + | <div class="ovnA"> |
− | + | === <b><span style="color:#931136">Klassen EmplP</span></b> === | |
− | [[Image: | + | [[Image: EmplP.jpg]] |
− | + | ||
− | = <b><span style="color:#931136"> | + | === <b><span style="color:#931136">Programmet Property</span></b> === |
− | + | [[Image: Property.jpg]] | |
− | [[Image: | + | |
− | + | ||
− | + | === <b><span style="color:#931136">Körexempel: samma som ovan.</span></b> === | |
− | + | ||
− | === <b><span style="color:#931136"> | + | |
− | + | ||
</div> | </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:
- Get-metoder
- Set-metoder
- Strängrepresentationsmetoder
Get- och Set-metoder
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.
Copyright © 2022 TechPages AB. All Rights Reserved.