DAIMIIntroducerende objektorienteret programmering3C.1 Design af klasser Specifikation og implementation.

Slides:



Advertisements
Lignende præsentationer
Mapning af 1 til mange forbindelser
Advertisements

Mapning af klasser til relationer
Velkommen til Softwarekonstruktion
Test First Development
Distribuerte Objekter Våren 2010 Professor II Eric Jul F3 –
Funktioner Graf og forskrift Venstreklik på musen for at komme videre
Mapning af 1 til mange forbindelser
Larman, 2. udgave kap. 11 Grundlæggende Systemudvikling zHvad er systemudvikling ? zHvad er UML ? zHvad er analyse og design ? zHvad er UP ?
Datastruktur & Algoritmik1 Datastruktur & Algoritmik 99 Kim Guldstrand Larsen.
Mølholm Skole Baggrund & optakt til skolebestyrelsens arbejde med skolen i bevægelse.  Processen vedr. fremtidens skole blev præsenteret, og igangsat.
Sådan strukturerer du en Trin-for-trin guide.
FEN Rekursion og induktion1 Induktion og (især) rekursion Mange begreber defineres ud fra en basis og så en gentagen anvendelse af et antal regler.
KREDSEN I CENTRUM Ambitioner. HØJE OG SYNLIGE AMBITIONER Hvad er godt FDF hos os? FDF skal være sjovt – både for børn og voksne Ambitioner tager ofte.
1 Datalogi C Datastrukturer og algoritmer ved Keld Helsgaun.
Studie rapport opbygning
Case Året er 2031 og staten er i gang med centraliseringen og nu er det blevet skolernes tur. Der skal spares penge på både lærere og undervisningsmaterialer.
Den relationelle model
Økonomi og Demokrati.
Opsamling Loops Klassedesign Immutable Lister shallowCopy() Projekt 2 FEN KbP/seminar3: Opsamling.
Lektion 7 Læsestof: Kopier fra Caranno
1. Database-systemer, introduktion
GP 8, 24/ Grundlæggende programmering Efterår 2001 Forelæsning 8 onsdag 24/ kl. 9:15 – 12:00.
Design, verifikation og analyse
Repetition: Introduktion til OOP med C# og .NET
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design af interaktionselementer.
FEN KbP/seminar2: design21 Kontraktbaseret programmering Seminar 2 Klassedesign: Immutable lister Queue Shallowcopy og alkvantoren.
Distribuerte Objekter Våren 2010 Professor II Eric Jul F4 –
3. lektion: Anthony Giddens og det senmoderne samfund - II
 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.
DAIMIIntroducerende objektorienteret programmering4C.1 Systemdesign Design med flere klasser, En kaffeautomat.
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design -> kode Mapning af et klassediagram til kode.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
 Henrik B. Christensen, 1999Introducerende objektorienteret programmering8B.1 Interfaces En ren kontrakt.
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
DAIMIIntroducerende objektorienteret programmeringkd.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
Fejlfinding Kunsten at finde og rette fejl. DAIMIIntroducerende Objektorienteret Programmering10C.2 Taxonomi  Ingen skriver programmer uden fejl!  Fejl.
DAIMIIntroducerende objektorienteret programmering1B.1 Skildpadder Modeller, objekter og opførsel.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
Interfaces Afkobling af programkomponenter (eksempel: Comparable)
Kari Rye Schougaard, Ph.d.-stud. Værktøjer og Teknikker, 2006 A A R H U S U N I V E R S I T E T DATALOGISK INSTITUT Java på 20 minutter (eller lidt mere)
Design af brugerflader13.1 Kursusgang 13 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
 Jens Bennedsen 2002Objektorienteret systemudvikling Modelleringsperspektiver Hvad betyder en klassemodel egentlig?
DAIMIIntroducerende objektorienteret programmering4A.1 Kontrakter og Design Kontraktbaseret design, JavaDoc dokumentation.
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Objekt Orienteret Modellering.
 Jens Bennedsen 2001Multimedie programmering10B.1 Interfaces En ren kontrakt.
 Jens Bennedsen 2001Multimedie programmering1.1 Skildpadder Modeller, objekter og opførsel.
DAIMIIntroducerende objektorienteret programmering4A.1 Kontrakter og Design Kontraktbaseret design, JavaDoc dokumentation,
Klassevariable- og metoder Funktionalitet på klasseniveau.
 Jens Bennedsen 2001Multimedie programmering3A.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmering4D.1 Betingelsessætninger if.
Tutankhamons Grav Et modellerings eksempel
DAIMIIntroducerende Objektorienteret Programmering8B.1 Interfaces En ren kontrakt.
DAIMIIntroducerende objektorienteret programmering15A.1 Eksamen…
DAIMIIntroducerende objektorienteret programmering12B.1 Obligatorisk Opgave 2 Et program til planlægning af madplaner.
DAIMIIntroducerende objektorienteret programmering2A.1 Lærde skildpadder Specialisering af skildpadder – nye kompetencer (metoder/kommandoer)
DAIMIIntroducerende objektorienteret programmering2C.1 Algebraiske begreber Tal, sandhedsværdier og figurer.
Hvad er en inkrementel og iterativ process?
Bæredygtighed og produktionsoptimering :. Overordnet program:  Definition af bæredygtighed  Definition af besparelser  Gennemgang af matrix  Strukturering.
Introduktion til øvelsen ”Bidrag til kerneopgaven” Formål med øvelsen Forberedelse Indledning Runde 1 Runde 2 Runde 3 Afslutning på øvelsen 2.
Cloud Computing Model-View-Controller
Introduktion til ”Sæt kerneopgaven i spil”
TEMA 6 Præsentation: Sælg idéen
Cloud Computing Model-View-Controller
1. Trin – Problemstilling
Del 2 - Synliggørelse af hvordan vi hver især bidrager til løsningen af kerneopgaven. Til proceslederen: Inden du gennemfører processen med medarbejderne,
Fra komfortzone til læringszone
Sæt dit aftryk – udvikling af ideer
Præsentationens transcript:

DAIMIIntroducerende objektorienteret programmering3C.1 Design af klasser Specifikation og implementation

DAIMIIntroducerende objektorienteret programmering3C.2 Klassedesign  Arnow og Weiss foreslår en 4+1 punkts plan for design af en klasse  De første fire skridt definerer klassens set fra en brugssynsvinkel: “Hvad kan klassen?”  interface  Det sidste skridt definerer klassen set fra en realisationssynsvinkel: “Hvordan får vi den til at gøre det?”  implementation

DAIMIIntroducerende objektorienteret programmering3C.3 Interface: 4+1  De fire punkter i definition af interface er: 1.Definer klassens opførsel, hvilke metoder skal klassen have? 2.Definer hvorledes klassen skal bruges (dets interface), dvs. prototyper for alle metoder 3.Skriv et testprogram der bruger klassen, så vi finder ud af om dets interface er passende. 4.Skriv et klasseskelet, dvs. klassen samt metodprototyper og tomme metodekroppe

DAIMIIntroducerende objektorienteret programmering3C.4 Implementation: 4+1  Implementation (realisation) består i at skrive kroppene til metoderne, samt definere de instansvariable, der måtte være brug for.  Ofte vil der være mange forskellige implementationer af nøjagtig det samme interface. Og oftest er der ikke ‘en bedste løsning’, men derimod fordele og ulemper ved dem alle.

DAIMIIntroducerende objektorienteret programmering3C.5 Øvelse  Nævn nogle fordele og ulemper ved vores implementation af Date2.

DAIMIIntroducerende objektorienteret programmering3C.6 Eksempel: En bankkonto  Opgave: Lav en klasse som modellerer en bankkonto. Det skal være muligt at hæve og indsætte penge, og få oplyst hvad kontoens indstående er.