Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afBirgitte Thøgersen Redigeret for ca. et år siden
1
Jens Bennedsen 2002Objektorienteret systemudvikling Design -> kode Mapning af et klassediagram til kode
2
Jens Bennedsen 2002Objektorienteret systemudvikling Perspektiver på klassemodellen Begrebslig –Beskriver folks opfattelse af verden –Uafhængigt af software Specifikation –Interfaces af klasser (typeer) Implementation –Interne egenskaber ved en klasse I design I programmering I analyse
3
Jens Bennedsen 2002Objektorienteret systemudvikling Operation ( public) Person (Design model) klasse Attribut ( privat)
4
Jens Bennedsen 2002Objektorienteret systemudvikling Kode /** * Denne klasse er en realisering af Design * klassen Person, hvor alderen beregnes ud * fra den dato hvor personen er født * @author Jens Bennedsen * @version 24. oktober 2000 */ public class Person {/** * returnerer personens navn */ public String getNavn() { return navn; } /** * ændrer personens navn til navn */ public void setNavn(String navn) { this.navn=navn; } /** * returnerer personens adresse */ public String getAdresse() { return adresse; } /** * ændrer personens adresse til adresse */ public void setAdresse(String adresse) { this.adresse = adresse; } /** * returnerer personens alder */ public int getAlder() { return alder; } /** * lægger et år til personens alder (Skal kaldes når personen har fødselsdag for at hans alder er korrekt) */ public void foedselsdag() { alder = alder + 1; } private String navn = ""; private String adresse = ""; private int alder = 0; }
5
Jens Bennedsen 2002Objektorienteret systemudvikling Eller… /** * Person repræsenterer en simpel person i et bibliotekssystem * @author Jens Bennedsen * @version 20. marts 2002 */ public interface Person { public String getNavn(); public void setNavn(String navn); public String getAdresse(); public void setAdresse(String adresse); public int getAlder(); }
6
Jens Bennedsen 2002Objektorienteret systemudvikling Associering 0..1 Kardinalitet (0 eller en låner knyttet til en bog Associering
7
Jens Bennedsen 2002Objektorienteret systemudvikling BogEksemplar (implementation) /** * Denne klasse repræsenterer et eksemplar af en bog i et bibliotek * * @author Jens Bennedsen * @version 24. oktober 2000 */ public class BogEksemplar {public BogEksemplar(…) { låner=null;… } … public Låner getLåner() { return låner; } public void setLåner(Låner låner) { this.låner = låner; } … private Låner låner; } Retningen på associationen er valgt udfra use cases/interaktion
8
Jens Bennedsen 2002Objektorienteret systemudvikling Accociering 1..1 Låner navn : String adresse : String getAlder() : int getNavn() : String setNavn(String) getAdresse() : String setAdresse(String) BogEksemplar antalUdlån:() : int 0..1 Bog titel : String ISBN-nr : String 11 Flere ens bog eksemplarer - udfaktorisering Tvungen deltagelse
9
Jens Bennedsen 2002Objektorienteret systemudvikling Bog - BogEksemplar Associeringen tilføjes som en attribut –aflæses af getBog() –opdateres af setBog(...) Alle attributter kan aflæses ( get… ) og opdateres ( set… ) Associeringen initialiseres når et BogEksemplar objekt skabes –constructor Bog titel : String ISBN-nr : String Bog(String, String) getTitel() : String setTitel(String) getISBN_Nr() : String setISBN_Nr(String) BogEksemplar antalUdlån : int låner : Låner bog : Bog BogEksemplar(Bog) antalUdlån:() : int getLåner() : Låner setLåner(Låner) setBog(Bog) getBog() : Bog 1
10
Jens Bennedsen 2002Objektorienteret systemudvikling Kode /** * Denne klasse repræsenterer et eksemplar af en bog i et bibliotek * * @author Jens Bennedsen * @version 24. oktober 2000 */ public class BogEksemplar { public BogEksemplar(Bog bog) { this.bog = bog; } … public Låner getLåner() { return låner; } public void setLåner(Låner låner) { this.låner = låner; … } public Bog getBog() { return bog; } public void setBog(Bog bog) { if (bog!=null) this.bog = bog; } private Låner låner=null; private Bog bog; }
11
Jens Bennedsen 2002Objektorienteret systemudvikling Registrering fra låner til udlånsemner LånerImpl navn : String adresse : String getAlder() : int getNavn() : String setNavn(String) getAdresse() : String setAdresse(String) 0..*0..1 BogEksemplar antalUdlån()
12
Jens Bennedsen 2002Objektorienteret systemudvikling Design Information om hvilke tilknyttede BogEksemplarer der er –List (eller anden Collection)List operationer til at tilføje og fjerne BogEksemplar objekter –addEksemplar –removeEksemplar BogEksemplar LånerImpl navn : String adresse : String eksemplarer : List getAlder() : int getNavn() : String setNavn(String) getAdresse() : String setAdresse(String) addEksemplar(BogEksemplar) removeEksemplar(BogEksemplar) 0..* getEksemplarer(): List
13
Jens Bennedsen 2002Objektorienteret systemudvikling Associering (implementation) import java.util.*; public class LånerImpl implements Låner {public LånerImpl(..) {.. eksemplarer = new ArrayList(); }... public void addEksemplar(BogEksemplar eksemplar) { eksemplarer.add(eksemplar); } public void removeEksemplar(BogEksemplar eksemplar) { eksemplarer.remove(eksemplar); } public List getEksemplarer() { return eksemplarer; }... private Collection eksemplarer; }
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.