Skillnad mellan versioner av "Objektorienterad modellering och implementation"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
| (10 mellanliggande versioner av samma användare visas inte) | |||
| Rad 4: | Rad 4: | ||
{{Not selected tab|[[Lektion 37 (Progr 3)|Lektion 37]]}} | {{Not selected tab|[[Lektion 37 (Progr 3)|Lektion 37]]}} | ||
{{Selected tab|[[Objektorienterad modellering och implementation|Genomgång]]}} | {{Selected tab|[[Objektorienterad modellering och implementation|Genomgång]]}} | ||
| − | {{Not selected tab|[[Övningar 37 (Progr 3)| | + | {{Not selected tab|[[Övningar 37 (Progr 3)|Dagens övningar]]}} |
| style="border-bottom:1px solid #797979" width="100%"| | | style="border-bottom:1px solid #797979" width="100%"| | ||
|} | |} | ||
| Rad 78: | Rad 78: | ||
=== <b><span style="color:#931136">Klassen Employee</span></b> === | === <b><span style="color:#931136">Klassen Employee</span></b> === | ||
| − | [[Image: | + | [[Image: Employeea.jpg]] |
<big> | <big> | ||
| Rad 88: | Rad 88: | ||
| − | = <b><span style="color:#931136"> | + | = <b><span style="color:#931136">Skrivning till fil</span></b> = |
<div class="ovnC"> | <div class="ovnC"> | ||
=== <b><span style="color:#931136">Klassen WriteFile</span></b> === | === <b><span style="color:#931136">Klassen WriteFile</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: WriteFilea.jpg]]</div> |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
</div> | </div> | ||
= <b><span style="color:#931136">Huvudprogrammet EmploTest</span></b> = | = <b><span style="color:#931136">Huvudprogrammet EmploTest</span></b> = | ||
| − | <div class=" | + | <div class="ovnE"> |
| − | [[Image: | + | [[Image: EmploTest.jpg]] |
| − | + | ||
| − | + | ||
</div> | </div> | ||
| Rad 109: | Rad 103: | ||
= <b><span style="color:#931136">Ett körexempel</span></b> = | = <b><span style="color:#931136">Ett körexempel</span></b> = | ||
<div class="ovnA"> | <div class="ovnA"> | ||
| − | <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: EmploKorres.jpg]]</div> |
</div> | </div> | ||
| − | + | ||
| − | = <b><span style="color:#931136">Läs om Objektorienterad modellering och implementation i [http://www.mathonline.se/ | + | = <b><span style="color:#931136">Läs om Objektorienterad modellering och implementation i [http://www.mathonline.se/Progr_3/2%20Boken%20Progr_3_Cs.pdf <span style="color:blue">kursboken</span>], sid 133-141. </span></b>= |
| − | + | ||
Nuvarande version från 28 februari 2022 kl. 21.42
| Lektion 37 | Genomgång | Dagens övningar |
Projekt Lönespecifikation
Objektorienterad modellering i fyra steg
Steg 1 Förstå problemet: Läs kundens kravspecifikation (rutan ovan) om och om igen!
Steg 2 Identifiera problemets nyckelbegrepp:
- Saker som är relevanta för verksamheten, som man behöver lagra information om.
-
- Vid implementeringen kommer nyckelbegrepp att bli programmets klasser.
Steg 3 Identifiera datamedlemmar till varje klass: Vad består den av? Testa "Har"-relationen!
Steg 4 Identifiera metoder till varje klass: Vad gör den eller vad kan man göra med den?
- Vilka operationer är relevanta, karakteristiska eller typiska för den?
Läs mer om modellering i fyra steg i kursboken, sid 133-135.
Klassdiagram
Resultat av modelleringen:
Följer regler enligt det objektorienterade modelleringsspråket Unified Modeling Language (UML):
Varje klass modelleras i en ruta som innehåller klassens datamedlemmar och metoder.
Minustecknen står framför datamedlemmarna och plustecknen står framför metoderna.
I de högra kolumnerna står datamedlemmarnas datatyper resp. metodernas returtyper.
Modellen är projektets arkitektur och därför logiskt primär.
Modellen är oberoende av programmeringsspråket.
Modellen måste vara objektorienterad för att programmet ska bli objektorienterat.
Omvandlingen av modell till kod kallas implementation.
Modellen "planteras", koden växer ur den.
Implementation av modellen
Klassen Time
Klassen Employee
För enkelhetens skull deklareras klassernas datamedlemmar som public.
Därför definieras inte heller någon konstruktor. I en skarp version borde datamedlemmarna vara private.
Skrivning till fil
Huvudprogrammet EmploTest
Ett körexempel
Läs om Objektorienterad modellering och implementation i kursboken, sid 133-141.
Copyright © 2022 TechPages AB. All Rights Reserved.






