Skillnad mellan versioner av "Kap 2 Objektorienterad design"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 3: | Rad 3: | ||
| style="border-bottom:1px solid #797979" width="5px" | | | style="border-bottom:1px solid #797979" width="5px" | | ||
{{Not selected tab|[[Lektion 4 (OOP)| << Agenda]]}} | {{Not selected tab|[[Lektion 4 (OOP)| << Agenda]]}} | ||
− | {{Not selected tab|[[Innehåll och struktur av kursen OOP & design|Innehåll & struktur]]}} | + | <!-- {{Not selected tab|[[Innehåll och struktur av kursen OOP & design|Innehåll & struktur]]}} --> |
{{Selected tab|[[Kap 2 Objektorienterad design|Genomgång]]}} | {{Selected tab|[[Kap 2 Objektorienterad design|Genomgång]]}} | ||
+ | {{Not selected tab|[[Kap 3 Metoder i OOP|Kap 3 Metoder i OOP]]}} | ||
{{Not selected tab|[[Övningar 4 (OOP)|Dagens övningar]]}} | {{Not selected tab|[[Övningar 4 (OOP)|Dagens övningar]]}} | ||
{{Not selected tab|[[Lektion 5 (OOP)|Nästa lektion >> ]]}} | {{Not selected tab|[[Lektion 5 (OOP)|Nästa lektion >> ]]}} |
Versionen från 27 november 2022 kl. 09.45
<< Agenda | Genomgång | Kap 3 Metoder i OOP | Dagens övningar | Nästa lektion >> |
2.1 Modellering med UML
UML design och 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 UML design och modellering i fyra steg i kursboken, sid 93-96.
Klassdiagram
Resultat av modellering av projektet Lönespecifikation:
Modellen ovan följer 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. Koden är sekundär.
- Modellen är oberoende av programmeringsspråket.
- Modellen måste vara objektorienterad för att programmet ska bli det.
- Modellen "planteras", koden växer ur modellen och följer den.
- Därför kallas omvandlingen av modell till kod implementation.
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.
Array av referenser
Huvudprogrammet EmploTest
Skrivning till fil
Ett körexempel
Copyright © 2022 TechPages AB. All Rights Reserved.