Skillnad mellan versioner av "Kap 1 Objektorienterad programmering (forts.)"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 75: | Rad 75: | ||
− | = <b><span style="color:#931136"> | + | = <b><span style="color:#931136">Åtkomstmodifieraren private</span></b> = |
<div class="ovnC"> | <div class="ovnC"> | ||
+ | === <b><span style="color:#931136">Programmet Encapsulation</span></b> === | ||
[[Image: Encapsulation.jpg]] | [[Image: Encapsulation.jpg]] | ||
Rad 84: | Rad 85: | ||
Men vi kan initiera den med <b><span style="color:red">input</span></b> via den publika metoden <b><span style="color:red">Circle()</span></b> dvs klassens konstruktor. | Men vi kan initiera den med <b><span style="color:red">input</span></b> via den publika metoden <b><span style="color:red">Circle()</span></b> dvs klassens konstruktor. | ||
</big> | </big> | ||
− | + | === <b><span style="color:#931136">Ett körexempel</span></b> === | |
− | + | ||
− | = <b><span style="color:#931136">Ett körexempel</span></b> = | + | |
− | + | ||
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CircleKorexa.jpg]]</div> | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CircleKorexa.jpg]]</div> | ||
</div> | </div> |
Versionen från 22 november 2022 kl. 14.45
<< Agenda | Innehåll & struktur | Genomgång | Dagens övningar | Nästa lektion >> |
1.4 Användning av klasser
1. Deklaration av en klass
2. Definition av ett objekt
3. Åtkomst till objektets medlemmar
Inkapsling och dess problematik
Problem:
Hur ska privata datamedlemmar initieras när de är oåtkomliga?
Lösningen:
Man använder publika metoder för att via dem komma åt klassens privata datamedlemmar.
En av dessa metoder är klassens konstruktor.
1.5 Klassens 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.
Exempel: Klassen Circle
Åtkomstmodifieraren private
Programmet Encapsulation
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
Konstruktorns egenskaper:
Konstruktorn är en publik metod vars uppgift är:
att initiera klassens privata datamedlemmar.
Hur skiljer man konstruktorn från andra metoder?
Copyright © 2022 TechPages AB. All Rights Reserved.