Skillnad mellan versioner av "Kap 8 Klasser"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 61: Rad 61:
  
 
på hur man strukturerar koden.
 
på hur man strukturerar koden.
</big></big>
 
</div>
 
 
 
= <b><span style="color:#931136">Steg 2: modularisering på klassnivå (objektorienterad)</span></b> =
 
<div class="ovnE">
 
<big><big>
 
I den objektorienterade programmeringen är <b>modellering av vekligheten</b>
 
 
den styrande synen på hur man strukturerar koden.
 
  
 
En nackdel av programmet Procedure ur modelleringssynpunkt är att main():s
 
En nackdel av programmet Procedure ur modelleringssynpunkt är att main():s
Rad 77: Rad 67:
  
 
Nackdel, därför att radie är ”ur modelleringssynpunkt” en del av cirkeln.
 
Nackdel, därför att radie är ”ur modelleringssynpunkt” en del av cirkeln.
 +
 +
I den objektorienterade programmeringen är <b>modellering av vekligheten</b>
 +
 +
den styrande synen på hur man strukturerar koden.
 
</big></big>
 
</big></big>
 +
</div>
  
=== <b><span style="color:#931136">Vår försa klass: Klassen Circle</span></b> ===
+
 
 +
= <b><span style="color:#931136">Steg 2: modularisering på klassnivå (objektorienterad)</span></b> =
 +
<div class="ovnE">
 +
== <b><span style="color:#931136">Vår försa klass: Klassen Circle</span></b> ==
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Circle_cpp.jpg]]</div>
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Circle_cpp.jpg]]</div>
  

Versionen från 23 oktober 2023 kl. 05.44

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


Programmet är varken proceduralt eller objektorienterat.

Vi ska modularisera programmet på olika nivåer. Det gör i två steg:


Steg 1: modularisering på funktionsnivå (procedural)

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

lagras externt i en headerfil:

Procedure.jpg


Parametrisering

Parametrisering.jpg


Programmet Procedure

Procedure cpp.jpg


I den procedurala programmeringen är problemlösning den styrande synen

på hur man strukturerar koden.

En nackdel av programmet Procedure ur modelleringssynpunkt är att main():s

lokala variabel radie är separerad från funktionerna area() och omkrets().

Nackdel, därför att radie är ”ur modelleringssynpunkt” en del av cirkeln.

I den objektorienterade programmeringen är modellering av vekligheten

den styrande synen på hur man strukturerar koden.


Steg 2: modularisering på klassnivå (objektorienterad)

Vår försa klass: Klassen Circle

Circle cpp.jpg


Klasserna Circle och Obj_oriented utgör ETT objektorienterat program.

Programmet CircleTest

Obj oriented.jpg


Ett körexempel

Obj oriented Korex.jpg


Klassbegreppet

Klassbegreppet.jpg










Copyright © 2023. All Rights Reserved.