Skillnad mellan versioner av "Kap 1 Objektorienterad programmering (forts.)"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 75: Rad 75:
  
  
= <b><span style="color:#931136">Programmet Encapsulation</span></b> =
+
= <b><span style="color:#931136">Åtkomstmodifieraren private</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
 +
=== <b><span style="color:#931136">Programmet Encapsulation</span></b> ===
 
[[Image: Encapsulation.jpg]]
 
[[Image: Encapsulation.jpg]]
  
Rad 84: Rad 85:
 
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>
</div>
+
=== <b><span style="color:#931136">Ett körexempel</span></b> ===
 
+
= <b><span style="color:#931136">Ett körexempel</span></b> =
+
<div class="ovnA">
+
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CircleKorexa.jpg]]</div>
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CircleKorexa.jpg]]</div>
 
</div>
 
</div>

Versionen från 22 november 2022 kl. 14.45

        <<  Agenda          Innehåll & struktur          Genomgång          Dagens övningar          Nästa lektion  >>      


1.4   Användning av klasser

Anv Klasser.jpg


1. Deklaration av en klass

Klassen Emp

Emp.jpg


2. Definition av ett objekt

3. Åtkomst till objektets medlemmar

Programmet EmpTest

Emp Test.jpg


Ett körexempel

EmpTestKorex.jpg


Inkapsling och dess problematik

Inkapslinga.jpg

Problem:

Hur ska privata datamedlemmar initieras när de är 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.


1.5   Klassens konstruktor

Konstruktorn är en publik metod vars uppgift är att initiera klassens privata datamedlemmar.

Konstruktorn finns by default i alla klasser, men kan även skrivas i klassen. Se exemplet nedan.

Se Konstruktorns egenskaper.


Exempel: Klassen Circle


Åtkomstmodifieraren private

Programmet Encapsulation

Encapsulation.jpg


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

CircleKorexa.jpg


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










Copyright © 2022 TechPages AB. All Rights Reserved.