Skillnad mellan versioner av "Default konstruktorn och andra konstruktorer"

Från Mathonline
Hoppa till: navigering, sök
m
m
 
(5 mellanliggande versioner av samma användare visas inte)
Rad 7: Rad 7:
 
| style="border-bottom:1px solid #797979"  width="100%"|  
 
| style="border-bottom:1px solid #797979"  width="100%"|  
 
|}
 
|}
 +
 +
 +
= <b><span style="color:#931136">Repetition: Konstruktorns egenskaper:</span></b> =
 +
<div class="border-divblue">
 +
<big><big>
 +
<b>Konstruktorn</b> är en publik metod vars uppgift är:
 +
 +
att initiera klassens privata datamedlemmar.
 +
</big></big>
 +
</div>
 +
 +
 +
= <b><span style="color:#931136">Hur skiljer man konstruktorn från andra metoder?</span></b> =
 +
 +
 +
<div class="ovnE">
 +
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: KonstrEgenskapera.jpg]]</div>
 +
</div>
 +
 +
 +
= <b><span style="color:#931136">Default konstruktorn</span></b> =
 +
<div class="border-divblue">
 +
<big><big>
 +
Alla klasser i C# har automatiskt en <b>default konstruktor</b> som
 +
 +
initierar klassens datamedlemmar till <b>default värden</b>.
 +
 +
Default konstruktorn sätts ur funktion endast om man definierar en egen konstruktor.
 +
</big></big>
 +
</div>
  
  
Rad 77: Rad 107:
  
  
= <b><span style="color:#931136">Läs om default konstruktorn och flera konstruktorer på sid 99-103.</span></b> =
+
= <b><span style="color:#931136">Läs om default konstruktorn och flera konstruktorer på sid 95-99.</span></b> =
  
  

Nuvarande version från 2 februari 2022 kl. 10.44

       Lektion 18          Genomgång          Övningar      


Repetition: Konstruktorns egenskaper:

Konstruktorn är en publik metod vars uppgift är:

att initiera klassens privata datamedlemmar.


Hur skiljer man konstruktorn från andra metoder?

KonstrEgenskapera.jpg


Default konstruktorn

Alla klasser i C# har automatiskt en default konstruktor som

initierar klassens datamedlemmar till default värden.

Default konstruktorn sätts ur funktion endast om man definierar en egen konstruktor.


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


"Ompekning" därför att samma referens myAccount används för att peka på det andra objektet.

S.k. Garbage collector rensar automatiskt det första, numera orefererade objektets minnesutrymme.

Ompekning motsvarar överskrivning av variablers värden hos variabler av enkel datatyp.


Ett körexempel

KorexFlera.jpg


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


 










Copyright © 2021 TechPages AB. All Rights Reserved.