Skillnad mellan versioner av "2.7 Klassens konstruktor"
Från Mathonline
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 43: | Rad 43: | ||
= <b><span style="color:#931136">Exempel: Klassen Circle</span></b> = | = <b><span style="color:#931136">Exempel: Klassen Circle</span></b> = | ||
− | <div class=" | + | <div class="ovnE"> |
[[Image: CircleKonstr.jpg]] | [[Image: CircleKonstr.jpg]] | ||
</div> | </div> | ||
Rad 49: | Rad 49: | ||
= <b><span style="color:#931136">Programmet Encapsulation</span></b> = | = <b><span style="color:#931136">Programmet Encapsulation</span></b> = | ||
− | <div class=" | + | <div class="ovnC"> |
[[Image: Encapsulation.jpg]] | [[Image: Encapsulation.jpg]] | ||
− | |||
+ | |||
+ | <big>Klassen Circle:s datamedlem <b><span style="color:red">radius</span></b> är oåtkomlig här pga åtkomstmodifieraren <b><span style="color:red">private</span></b>. | ||
+ | |||
+ | 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> | ||
+ | </div> | ||
= <b><span style="color:#931136">Ett körexempel</span></b> = | = <b><span style="color:#931136">Ett körexempel</span></b> = |
Versionen från 12 januari 2021 kl. 17.26
Lektion 17 | Genomgång | Övningar |
Vad är objektorienterad programmering?
Vad är inkapsling?
Problem:
Hur ska privata datamedlemmar initieras när de är private, dvs 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, en speciell publik metod som skrivs (redan finns by default) i klassen.
Exempel: Klassen Circle
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
Konstruktorn har tre egenskaper:
Läs om Klassens konstruktor i kursboken på sid 95-100.
Copyright © 2021 TechPages AB. All Rights Reserved.