Objektorienteret programmering – UML2Java.  Jens Bennedsen 2001Multimedie programmering8.2 Indhold Klasser og associering til enkelt objekt –Programmering.

Slides:



Advertisements
Lignende præsentationer
Hvordan programmerer man?? STREAM - en model. Programmører arbejder ofte i teams Hver programmør arbejder på sin del af en større helhed.
Advertisements

Mapning af klasser til relationer
Velkommen til Softwarekonstruktion
Thomas, Nicklas, Kim, Dennis G., Benjamin
07 – Kort om OO Introduktion.
T1 – OPGAVE 14.2 LINETT & SABRINA Klasse Varer namespace Opgave_14._2 { class Varer { private string vare; private string farve; private double.
Programmeringsteknologi: Lektion 1
Object-Orienteret Programmering og Design. 2 Nordjyllands Erhvervakademi – 2009 Indhold “Classes, objects and object-oriented programming (OOP) play a.
Lavet af: Paw Petersen Design Design Class Diagram (DCD)
Array vs. ArrayList. Arrays Et array er en struktureret metode til at gemme flere værdier af den samme datatype. Data’en i et array ligger op ad hinanden.
Objektorienteret programmering
Hvordan man skriver koden.
VOOP, 8 april Refleksion i objekt orienterede programmeringssprog Mandag 8/ Kasper Østerbye.
Mapning af 1 til mange forbindelser
12.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Modelkomponent Oversigt, principper og teknikker Kapitel 12.
Oversigt, principper og teknikker
05.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Adfærd Oversigt, principper og teknikker Kapitel 5.
2009NOEA/IT - Databasedesign1 Agenda Datamodellering Databasedesign Normalisering.
Grundlæggende elementer i UML
Forelæsning 3.1 Collections Javas for-each løkke
17.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Implementering Principper, teknikker og vurdering Kapitel 17.
1 Dagens gang Sidste uges opgaver OA+D: Adfærd Nye opgaver.
Fundamentale datastrukturer
Eksempel på realisering af domænemodel
GP 8, 24/ Grundlæggende programmering Efterår 2001 Forelæsning 8 onsdag 24/ kl. 9:15 – 12:00.
1 Grafalgoritmer I. 2 Plan Grafer - definition - anvendelser - terminologi - eksempler på grafproblemer Grafgennemgang - dybde-først-gennemgang - bredde-først-gennemgang.
Objekter og klasser Rasmus D. Lehrmann DM
Gruppe D/4 Tema Design.
Repetition: Introduktion til OOP med C# og .NET
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
Generelt om abstraktion og modellering Tietgen Skolen.
OOD  Relationel database: Klasser Hver klasse afbildes over i en tabel. Klassens navn bruges som navn på tabellen. Hver af klassens attributter afbildes.
2009Softwarekonstruktion / DB-design 11 Databasedesign 1 Fra begrebsmæssig model til relationel model.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design klasse model ”Klassemodellen på vej til kode”
Obligatorisk opgave nr. 2 – PalmPilot. DAIMIIntroducerende objektorienteret programmeringpalmproject.2 PalmPilot En PalmPilot kan holde styr på –kalender.
Systemudvikling – Fra idé til kode.  Jens Bennedsen 2001Multimedie programmering9.2 Begrebsmodellering Problemspecifikke begreber Problem/vision vedrørende.
Objektorienteret programmering – begrebsmodellering
 Jens Bennedsen 2001Multimedie programmering10A.1 Polymorfi og nedarvning Motivation for arv og “mange former”
 Jens Bennedsen, 2003Introducerende objektorienteret programmering Exceptions.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design -> kode Mapning af et klassediagram til kode.
Klasser og objekter. dIntProg, E08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
 Henrik Bærbak, 2000Introducerende objektorienteret programmering11B.1 Destilleret UML Oversættelse fra UML til Java.
Klassehierarkier Specialisering vha. subklasser. dIntProg, E05Klassehierarkier.2 Oversigt Eksempler på specialisering –Aktør, Koreograf, Skuespiller,
Interfaces Afkobling af programkomponenter (eksempel: Comparable)
 Jens Bennedsen 2002Objektorienteret systemudvikling Arkitektur.
Objektorienteret analyse og design Ó Bennedsen 2001 Design - part Programmering og systemudvikling Lektion 7 Design - part 2.
 Jens Bennedsen 2001Multimedie programmering13.1 Lingo Objectorienteret Lingo.
 Jens Bennedsen 2001Multimedie programmering11.1 Lingo Basis.
 Jens Bennedsen 2002Objektorienteret systemudvikling Modelleringsperspektiver Hvad betyder en klassemodel egentlig?
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Interfaces – hvorfor, hvad og hvordan?.  Michael E. Caspersen 2003IOOPInterfaces.2 Oversigt Interfaces, hvorfor –Separering af specifikation (interface)
 Jens Bennedsen 2001Multimedie programmering10B.1 Interfaces En ren kontrakt.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge46 Ancestor.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
 Jens Bennedsen 2001Multimedie programmering14.1 Lingo Inside LingoLand.
 Jens Bennedsen 2001Multimedie programmering3B.1 Specifikationer Betingelser, specifikationer og JavaDoc.
DAIMIIntroducerende objektorienteret programmering1 Et lille banksystem Modellering beskrevet ved et UML klassediagram.
 Jens Bennedsen 2001Multimedie programmering3A.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
Klasser og objekter. dIntProg, F08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge45 Associeringer.
 Jens Bennedsen 2002Objektorienteret systemudvikling Begrebsmodellering Hvordan får vi opbygget en domænemodel/begrebsmodel?
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge44 Java til Lingo Klasser, statements og lister.
DAIMI, AUIntroducerende objektorienteret programmering11A.1 Destilleret UML Oversættelse fra UML til Java.
 Jens Bennedsen, 2003, revideret af EE Introducerende objektorienteret programmering MVC Et mønster for grænseflader.
Objektorienteret programmering – begrebsmodellering
01.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Objektorienteret Analyse & Design (OOA&D) Grundbegreber, principper og metode Kapitel 1.
Objecter Introduktion Webintegrator HF1 PHP Object orienteret.
Præsentationens transcript:

Objektorienteret programmering – UML2Java

 Jens Bennedsen 2001Multimedie programmering8.2 Indhold Klasser og associering til enkelt objekt –Programmering af en enkelt klasse inkl. get/set metoder –Frivillig envejs associering til et objekt Associering til mange objekter –anvendelse af containerklasse Aggregering –ansvar for oprettelse og nedlæggelse Specialisering –subtyper Arkitektur –G F M M F

 Jens Bennedsen 2001Multimedie programmering8.3 Analyse model Kardinalitet (0 eller en låner knyttet til en bog Associering

 Jens Bennedsen 2001Multimedie programmering8.4 BogEksemplar (Design model) Associeringen tilføjes som en attribut –aflæses af getLåner() –opdateres af setLåner(...) Alle attributter kan aflæses ( get… ) og opdateres ( set… )

 Jens Bennedsen 2001Multimedie programmering8.5 BogEksemplar (implementation)

 Jens Bennedsen 2001Multimedie programmering8.6 Analyse model 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

 Jens Bennedsen 2001Multimedie programmering8.7 Bog - BogEksemplar (Design model) 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

 Jens Bennedsen 2001Multimedie programmering8.8 BogEksemplar (implementation)

 Jens Bennedsen 2001Multimedie programmering8.9 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()

 Jens Bennedsen 2001Multimedie programmering8.10 Design Information om hvilke tilknyttede BogEksemplarer der er –ListList 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

 Jens Bennedsen 2001Multimedie programmering8.11 Associering (implementation)

 Jens Bennedsen 2001Multimedie programmering8.12 Registrér information om udlån

 Jens Bennedsen 2001Multimedie programmering8.13 Agggregering Typer af aggregering –Blød (UML: Aggregering): Som associering - eventuelt ansvar for at nedlægge –Hård (UML: Composition): Helet har ansvar for at oprette og nedlægge delene

 Jens Bennedsen 2001Multimedie programmering8.14 Lån - designmodel Container til at indeholde objekterne –List tilføj- og fjern metoder –addLån(…) parametre som Lån ’s constructor –removeLån(…) entydig identifikation

 Jens Bennedsen 2001Multimedie programmering8.15 Aggregering (implementation)

 Jens Bennedsen 2001Multimedie programmering8.16 Flere udlånsemner

 Jens Bennedsen 2001Multimedie programmering8.17 Super klasse Fælles funktionalitet –operationer og attributter abstract –Ingen objekter af klassen –Abstraktion –Fælles funktionalitet

 Jens Bennedsen 2001Multimedie programmering8.18 Hierarki (implementation)