Skillnad mellan versioner av "Kap 8 Klasser (22)"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 75: Rad 75:
 
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">Körexempel</span></b> ===
 
=== <b><span style="color:#931136">Körexempel</span></b> ===

Versionen från 24 oktober 2023 kl. 13.21

Ons 25 okt, kl 9-12


        <<  Agenda          Genomgång 22          Övningar 22          Planering          Nästa lektion  >>      


8.3   Inkapsling


Åtkomstmodifieraen private

Private.jpg


Problem:

Hur ska privata datamedlemmar initieras när de är oåtkomliga?


Inkapsling och dess problematik

Inkapslinga.jpg


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 i klassen vars uppgift är att initiera klassens privata datamedlemmar.

Konstruktorn är en speciell metod med tre egenskaper.

Konstruktorn finns by default i alla klasser, men man kan även definiera den själv i klassen.

Se exemplet nedan:


Exempel: Klassen Circle med konstruktor

CircleConstr.jpg


Programmet Encapsulation

Encapsulation cpp.jpg


Klassen Circle:s datamedlem radie är oåtkomlig här p.g.a. åtkomstmodifieraren private.

Men vi kan initiera den med input via den publika metoden Circle() dvs klassens konstruktor.

Körexempel

EncapsKorex.jpg


Konstruktorns tre egenskaper

KonstrEgenskapera.jpg


Default konstruktorn

Alla klasser i C++ har automatiskt en default konstruktor som

initierar klassens datamedlemmar till default värden, dvs till 0

om de är tal, till nolltecknet om dem är tecken och till tom sträng om de är strängar.

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



Gå vidare till:        när du är klar med denna genomgång.











Copyright © 2023. All Rights Reserved.