Skillnad mellan versioner av "Kap 8 Klasser"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 13: Rad 13:
  
  
= <b><span style="color:#931136">&nbsp; Lösningsförslag till övning [[Övningar_37_(C/Cpp_23)|<span style="color:blue">7.7</span>]]</span></b> =
+
= <b><span style="color:#931136">&nbsp; Lösningsförslag till övning [[Övningar_20_(C/Cpp_23)|<span style="color:blue">7.7</span>]]</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
 
=== <span style="color:#931136"> &nbsp; Överskuggning av variabler (Overriding of variables)</span> ===
 
=== <span style="color:#931136"> &nbsp; Överskuggning av variabler (Overriding of variables)</span> ===

Versionen från 12 januari 2025 kl. 20.24

        <<  Agenda          Genomgång 21          Övningar 21          Innehåll & struktur          Nästa lektion  >>      


  Lösningsförslag till övning 7.7

  Överskuggning av variabler (Overriding of variables)

OverrideVar 1.jpg


OverrideVar 2.jpg


8.1   Vad är objektorienterad programmering?

Gå igenom texten:
\( \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örsta klass: klassen Circle

Circle cpp.jpg


Klassen Circle och programmet CircleTest utgör ETT objektorienterat program.

Programmet CircleTest

CircleTest.jpg


Körexempel

Obj oriented Korex.jpg


Klassbegreppet

Klassbegreppet.jpg



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










Copyright © 2023. All Rights Reserved.