Skillnad mellan versioner av "Kap 8 Klasser"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 34: Rad 34:
 
<div class="ovnA">
 
<div class="ovnA">
 
<big><big>
 
<big><big>
Beräkningarna flyttas från <b><span style="color:red">main()</span></b> till separata moduler <b><span style="color:red">area()</span></b> och <b><span style="color:red">omkrets()</span></b> och lagras externt i headerfilen Procedure.h:
+
Beräkningarna flyttas från <b><span style="color:red">main()</span></b> till separata moduler <b><span style="color:red">area()</span></b> och <b><span style="color:red">omkrets()</span></b> och  
 +
 
 +
lagras externt i headerfilen Procedure.h:
 
</big></big>
 
</big></big>
  

Versionen från 22 oktober 2023 kl. 14.15

Tis 24 okt, kl 9-12


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


8.1   Vad är objektorienterad programmering?

Gå igenom texten (PDF 7 sidor):
\( \qquad\;\;\, \)\( \qquad\;\;\, \)


8.2   Vägen till OOP

Programmet All_in_main() utan modularisering

All in main.jpg


Steg 1: modularisering på funktionsnivå (procedural)

Beräkningarna flyttas från main() till separata moduler area() och omkrets() och

lagras externt i headerfilen Procedure.h:

Procedure.jpg


Parametrisering

Parametrisering.jpg


Programmet Procedure

Den tredje modulen main() placeras i följande separat fil. Headerfilen Procedure.h måste inkluderas i den för att koppla ihop modulerna:

Procedure cpp.jpg

I den procedurala programmeringen är problemlösning den styrande synen på hur man strukturerar koden.


Steg 2: modularisering på klassnivå (objektorienterad)

Modulariseringens 2:a steg: Metoden Ok() flyttas till en annan klass = ny datatyp.

I Main() skapas ett objekt av den nya datatypen Password och

objektets metod Ok() anropas i Main().

Klassen Password

Password.jpg


Klasserna Password och PasswordUse utgör ETT objektorienterat program.

Klassen PasswordUse

PasswordUse.jpg


Ett körexempel

PasswordUseKorexa.jpg










Copyright © 2023. All Rights Reserved.