Skillnad mellan versioner av "Kap 2 Objektorienterad design"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 84: | Rad 84: | ||
=== <b><span style="color:#931136">Klassen Employee</span></b> === | === <b><span style="color:#931136">Klassen Employee</span></b> === | ||
− | [[Image: | + | [[Image: EmployeeL.jpg]] |
<big> | <big> |
Versionen från 26 november 2022 kl. 15.47
<< Agenda | Innehåll & struktur | Genomgång | 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.
Skrivning till fil
Huvudprogrammet EmploTest
Ett körexempel
Copyright © 2022 TechPages AB. All Rights Reserved.