Skillnad mellan versioner av "Default konstruktorn och andra konstruktorer"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 12: Rad 12:
 
<div class="ovnE">
 
<div class="ovnE">
 
[[Image: CircleD.jpg]]
 
[[Image: CircleD.jpg]]
 +
 +
 +
<big>Alla klasser skapar automatiskt sin <b><span style="color:red">default konstruktor</span></b> som initierar klassens datamedlemmar till <b><span style="color:red">defaultvärden</span></b>.
 +
 +
Defaultvärden är beroende av datamedlemmens datatyp. Taltypernas defaultvärde är 0. String:s defaultvärde är "". Referensernas defaultvärde är null.
 +
</big>
 
</div>
 
</div>
  
Rad 20: Rad 26:
  
  
<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>.  
+
<big>Klassen CircleD:s datamedlem <b><span style="color:red">radius</span></b> är fortfarande oåtkomlig här pga <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.
+
Alla objekt måste skapas genom att anropa en <b><span style="color:red">konstruktor</span></b> vare sig default eller egendefinierad.
 
</big>
 
</big>
 
</div>
 
</div>

Versionen från 12 januari 2021 kl. 18.04

       Lektion 18          Genomgång          Övningar      


Klassen CircleD "utan" konstruktor

CircleD.jpg


Alla klasser skapar automatiskt sin default konstruktor som initierar klassens datamedlemmar till defaultvärden.

Defaultvärden är beroende av datamedlemmens datatyp. Taltypernas defaultvärde är 0. String:s defaultvärde är "". Referensernas defaultvärde är null.


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


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


 










Copyright © 2021 TechPages AB. All Rights Reserved.