Skillnad mellan versioner av "Kap 8 Klasser (22)"
Taifun (Diskussion | bidrag) (Skapade sidan med '__NOTOC__ <big>Ons 25 okt, kl 9-12</big> {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | style="border-bottom:1px solid #797979" width="5px" |  ...') |
Taifun (Diskussion | bidrag) m |
||
Rad 19: | Rad 19: | ||
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Inkapsling.jpg]]</div> | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Inkapsling.jpg]]</div> | ||
</div> | </div> | ||
+ | |||
+ | +++ | ||
Versionen från 23 oktober 2023 kl. 08.42
Ons 25 okt, kl 9-12
<< Agenda | Genomgång 22 | Övningar 22 | Planering | Nästa lektion >> |
8.3 Inkapsling
+++
8.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 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
Copyright © 2023. All Rights Reserved.