Skillnad mellan versioner av "Default konstruktorn och andra konstruktorer"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 48: Rad 48:
  
  
<big><b><span style="color:red">class</span></b> skapar automatiskt en <b><span style="color:red">default konstruktor</span></b> som inte har någon parameter: <b><span style="color:red">class()</span></b>.
+
<big>Datamedlemmarna har ingen explicit åtkomstmodifierare, varken private eller public.  
  
Default konstruktorn initierar klassens datamedlemmar till <b><span style="color:red">defaultvärden</span></b>.
+
Men de är ändå <b><span style="color:red">private</span></b> by default pga klassens inkapslingsegenskap.
  
Defaultvärdena är beroende av medlemmarnns datatyper: Taltypernas defaultvärde är <b><span style="color:red">0</span></b>.
+
De kan initieras endast via de publika konstruktorerna när ett objekt skapas.  
 
+
String:s defaultvärde är <b><span style="color:red">" "</span></b>. Referensernas defaultvärde är <b><span style="color:red">null</span></b> osv.
+
 
</big>
 
</big>
 
</div>
 
</div>

Versionen från 13 januari 2021 kl. 18.45

       Lektion 18          Genomgång          Övningar      


Klassen CircleD med default konstruktor

CircleD.jpg


class skapar automatiskt en default konstruktor som inte har någon parameter: class().

Default konstruktorn initierar klassens datamedlemmar till defaultvärden.

Defaultvärdena är beroende av medlemmarnns datatyper: Taltypernas defaultvärde är 0.

String:s defaultvärde är " ". Referensernas defaultvärde är null osv.


Programmet EncapsulationD

EncapsulationD.jpg


Klassen CircleD:s datamedlem radius är fortfarande oåtkomlig här pga private.

Alla objekt måste skapas genom att anropa en konstruktor vare sig default eller egendefinierad.


Ett körexempel

Gando.jpg


Flera konstruktorer: Klassen Account

Account.jpg


Datamedlemmarna har ingen explicit åtkomstmodifierare, varken private eller public.

Men de är ändå private by default pga klassens inkapslingsegenskap.

De kan initieras endast via de publika konstruktorerna när ett objekt skapas.


Programmet CreateAccount

CreateAccount.jpg


Klassen CircleD:s datamedlem radius är fortfarande oåtkomlig här pga private.

Alla objekt måste skapas genom att anropa en konstruktor vare sig default eller egendefinierad.


Ett körexempel

KorexFlera.jpg


Läs om default konstruktorn och flera konstruktorer på sid 99-103.


 










Copyright © 2021 TechPages AB. All Rights Reserved.