Skillnad mellan versioner av "Kap 8 Klasser"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
(32 mellanliggande versioner av samma användare visas inte) | |||
Rad 1: | Rad 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | <big>Tis 24 okt, kl 9-12</big> | + | <!-- <big>Tis 24 okt, kl 9-12</big> --> |
− | + | ||
− | + | ||
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | ||
| style="border-bottom:1px solid #797979" width="5px" | | | style="border-bottom:1px solid #797979" width="5px" | | ||
Rad 8: | Rad 6: | ||
{{Selected tab|[[Kap 8 Klasser|Genomgång 21]]}} | {{Selected tab|[[Kap 8 Klasser|Genomgång 21]]}} | ||
{{Not selected tab|[[Övningar 21 (C/Cpp 23)|Övningar 21]]}} | {{Not selected tab|[[Övningar 21 (C/Cpp 23)|Övningar 21]]}} | ||
− | {{Not selected tab|[http://mathonline.se/Planering_Progr_Cpp_ht_23.pdf Planering]}} | + | {{Not selected tab|[https://sharedfiles.mathonline.se/Systemutv_Inb_Syst_Inneh_Struktur.pdf Innehåll & struktur]}} |
+ | <!-- {{Not selected tab|[http://mathonline.se/Planering_Progr_Cpp_ht_23.pdf Planering]}} --> | ||
{{Not selected tab|[[Lektion 22 (C/Cpp 23)|Nästa lektion >> ]]}} | {{Not selected tab|[[Lektion 22 (C/Cpp 23)|Nästa lektion >> ]]}} | ||
| style="border-bottom:1px solid #797979" width="100%"| | | style="border-bottom:1px solid #797979" width="100%"| | ||
|} | |} | ||
− | |||
− | = <b><span style="color:#931136"> | + | = <b><span style="color:#931136">9.1 Vad är objektorienterad programmering?</span></b> = |
<div class="ovnE"> | <div class="ovnE"> | ||
<big><big> | <big><big> | ||
− | :Gå igenom texten | + | :Gå igenom texten<span>:</span> |
− | <math> \qquad\;\;\, </math><div class="smallBox">[ | + | <math> \qquad\;\;\, </math><div class="smallBox">[https://sharedfiles.mathonline.se/Vad_OOP_Cpp.pdf <b><span style="color:blue">Vad är objektorienterad programmering?</span></b>]</div><math> \qquad\;\;\, </math> |
</big></big> | </big></big> | ||
</div> | </div> | ||
− | = <b><span style="color:#931136"> | + | = <b><span style="color:#931136">9.2 Vägen till OOP</span></b> = |
<div class="ovnC"> | <div class="ovnC"> | ||
=== <b><span style="color:#931136">Programmet All_in_main() utan modularisering</span></b> === | === <b><span style="color:#931136">Programmet All_in_main() utan modularisering</span></b> === | ||
Rad 33: | Rad 31: | ||
Programmet är varken proceduralt eller objektorienterat. | Programmet är varken proceduralt eller objektorienterat. | ||
− | Vi ska modularisera programmet på olika nivåer. Det gör i två steg: | + | Vi ska modularisera programmet på olika nivåer. Det gör vi i två steg: |
</big></big> | </big></big> | ||
</div> | </div> | ||
Rad 77: | Rad 75: | ||
= <b><span style="color:#931136">Steg 2: modularisering på klassnivå (objektorienterad)</span></b> = | = <b><span style="color:#931136">Steg 2: modularisering på klassnivå (objektorienterad)</span></b> = | ||
<div class="ovnE"> | <div class="ovnE"> | ||
− | == <b><span style="color:#931136">Vår | + | == <b><span style="color:#931136">Vår första 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> | ||
<big><big> | <big><big> | ||
− | + | Klassen <b><span style="color:#931136">Circle</span></b> och programmet <b><span style="color:#931136">CircleTest</span></b> utgör ETT objektorienterat program. | |
</big></big> | </big></big> | ||
− | + | == <b><span style="color:#931136">Programmet CircleTest</span></b> == | |
− | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: | + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CircleTest.jpg]]</div> |
− | === <b><span style="color:#931136"> | + | === <b><span style="color:#931136">Körexempel</span></b> === |
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Obj_oriented_Korex.jpg]]</div> | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Obj_oriented_Korex.jpg]]</div> | ||
</div> | </div> | ||
Rad 97: | Rad 95: | ||
<div class="ovnC"> | <div class="ovnC"> | ||
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Klassbegreppet.jpg]]</div> | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Klassbegreppet.jpg]]</div> | ||
+ | </div> | ||
+ | |||
+ | <br><br> | ||
+ | |||
+ | <div class="border-divblue"> | ||
+ | === <b><span style="color:#931136">Gå vidare till: <div class="smallBox">[[Övningar 21 (C/Cpp 23)|<span style="color:blue">Övningar 21</span>]]</div> när du är klar med denna genomgång.</span></b> === | ||
</div> | </div> | ||
Nuvarande version från 1 mars 2025 kl. 18.32
<< Agenda | Genomgång 21 | Övningar 21 | Innehåll & struktur | Nästa lektion >> |
9.1 Vad är objektorienterad programmering?
9.2 Vägen till OOP
Programmet All_in_main() utan modularisering
Programmet är varken proceduralt eller objektorienterat.
Vi ska modularisera programmet på olika nivåer. Det gör vi 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:
Parametrisering
Programmet Procedure
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
Klassen Circle och programmet CircleTest utgör ETT objektorienterat program.
Programmet CircleTest
Körexempel
Klassbegreppet
Gå vidare till: när du är klar med denna genomgång.
Copyright © 2023. All Rights Reserved.