Skillnad mellan versioner av "Kap 8 Klasser"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 25: Rad 25:
  
 
= <b><span style="color:#931136">8.2 &nbsp; Vägen till OOP</span></b> =
 
= <b><span style="color:#931136">8.2 &nbsp; Vägen till OOP</span></b> =
== <b><span style="color:#931136">Utan modularisering: all kod i main()</span></b> ==
 
 
<div class="ovnC">
 
<div class="ovnC">
=== <b><span style="color:#931136">Programmet All_in_main()</span></b> ===
+
=== <b><span style="color:#931136">Utan modularisering: Programmet All_in_main()</span></b> ===
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: All_in_main.jpg]]</div>
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: All_in_main.jpg]]</div>
 
</div>
 
</div>

Versionen från 21 oktober 2023 kl. 13.19

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

Utan modularisering: Programmet All_in_main()

All in main.jpg


Modularisering på funktionsnivå (procedural)

Modulariseringens 1:a steg: Logiken flyttas till en ny metod Ok() utanför Main().

Method Module.jpg


Klassen Method har två metoder: Main() och Ok(): Main() anropar Ok(). Vid anrop:

skickas den aktuella parametern input till den formella parametern passwd och retur-

värdet av typ bool returneras via Ok() till Main() och används i if-satsens samt loopens villkor.


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.