Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Introduktion til objektorientering OO, Java og BlueJ.

Lignende præsentationer


Præsentationer af emnet: "Introduktion til objektorientering OO, Java og BlueJ."— Præsentationens transcript:

1 Introduktion til objektorientering OO, Java og BlueJ

2 dIntProg, F08OO-introduktion.2 Problemløsning i hverdagen (1) Hvis min bil går i stykker, har jeg et problem; hvad gør jeg for at løse det? –Henvender mig på et bilværksted og forklarer dem hvori problemet består. –Overlader bilen til værkføreren og får den tilbage i repareret stand nogen tid efter. Hvad har jeg gjort for at løse mit problem? –Fundet en passende agent eller serviceudbyder. –Overbragt agenten en meddelelse om mit problem. –Det er blevet agentens ansvar at løse problemet på mine vegne. –Agenten har en metode til at løse problemet, men den behøver jeg ikke at kende til.

3 dIntProg, F08OO-introduktion.3 Problemløsning i hverdagen (2) Samme princip hvis jeg skal sende blomster til min farmor i Svendborg –Henvender mig til min lokale blomsterhandler med en meddelelse der indeholder information om hvilke blomster jeg ønsker samt min farmors adresse, og så sker det hele bag kulisserne. –Formodentlig ved at blomsterhandleren videregiver min meddelelse til en anden blomsterhandler i Svendborg der sørger for at fremskaffe blomsterne, binde en buket og få dem sendt ud til min farmor.

4 dIntProg, F08OO-introduktion.4 Delegering til agenter Afkobling –Agenters valg af metode er ikke mit problem; tværtimod er der –stor fleksibilitet i at vi ikke blander os i agenters (eksempelvis blomsterhandleres eller værkføreres) metoder. –Agenter er fri til at anvende en vilkårlig fremgangsmåde, blot de leverer en løsning på problemet – det er deres ansvar.

5 dIntProg, F08OO-introduktion.5 Forskellige typer af agenter Forskellige typer agenter –Agenten er modtager af min meddelelse og dermed en nødvendig betingelse for at problemet bliver løst. –Hver agent har sine metoder som er specifikke for netop den service han kan tilbyde. –Havde jeg henvendt mig til værkføreren med mit blomster- problem ville han sikkert have givet en besked tilbage om at han ikke havde nogen metode til at løse problemet.

6 dIntProg, F08OO-introduktion.6 Om benyttelse af metaforer i OO En af fordelene ved OOP er benyttelsen af metaforer fra dagligdagen. En OO-programmør kan –tænke på sit program som nogle objekter der opfører sig på bestemte måder og har visse ansvar at leve op til –trække på et væld af erfaringer fra dagligdagen og herved få ideer til strukturering af det samlede program

7 dIntProg, F08OO-introduktion.7 Interaktion mellem agenter MigAlexandra BlomsterQuist BlomsterBud-JohnnyFarmor levér(b,a,b) bindBuket(b) bringUd(b) overbring(b)

8 dIntProg, F08OO-introduktion.8 Forskellige typer agenter BlomsterhandlerBud levér bindBuket indbetal bringUd

9 dIntProg, F08OO-introduktion.9 Rollespil Aktører –Skuespiller –Skuespillerelev –Karakterskuespiller –Gnavpot –Koreograf Handlinger –klap n –drej n –antal Aktør SkuespillerKoreograf klap (heltal n) drej (heltal n) antal() ElevGnavpot…Karakter…

10 dIntProg, F08OO-introduktion.10 Skuespiller klap n –Når du modtager beskeden klap får du samtidig et tal. Klap dine hænder så mange gange. drej n –Når du modtager beskeden drej får du samtidig et tal. Drej rundt om dig selv så mange gange. antal –Når du modtager beskeden antal, så fortæl hvor mange handlinger (drej og klap) du har udført indtil nu.

11 dIntProg, F08OO-introduktion.11 Skuespillerelev klap n –Når du modtager beskeden klap får du samtidig et tal. Klap dine hænder så mange gange samtidig med at du tydeligt viser din nervøsitet. drej n –Når du modtager beskeden drej får du samtidig et tal. Drej rundt om dig selv så mange gange samtidig med at du tydeligt viser din nervøsitet. antal –Når du modtager beskeden antal, så fortæl hvor mange handlinger (drej og klap) du har udført indtil nu samtidig med at du tydeligt viser din nervøsitet.

12 dIntProg, F08OO-introduktion.12 Karakterskuespiller klap n –Når du modtager beskeden klap får du samtidig et tal. Klap dine hænder så mange gange. Sig derefter ”Tak!” og buk så dramatisk du kan. drej n –Når du modtager beskeden drej får du samtidig et tal. Drej rundt om dig selv så mange gange. Sig derefter ”Tak!” og buk så dramatisk du kan. antal –Når du modtager beskeden antal, så fortæl hvor mange handlinger (drej og klap) du har udført indtil nu. Sig derefter ”Tak!” og buk så dramatisk du kan.

13 dIntProg, F08OO-introduktion.13 Gnavpot klap n drej n antal –Ligegyldigt hvilken besked du modtager, så ignorer beskeden og sig så højt og tydeligt du kan: ”Jeg nægter!”

14 dIntProg, F08OO-introduktion.14 Koreograf Til en start –Vælg dig to ofre blandt de øvrige aktører. De to ofre kan godt være samme person. klap n –Når du modtager beskeden klap videresender du den til hver af dine to ofre. drej n –Når du modtager beskeden drej videresender du den til hver af dine to ofre. antal –Når du modtager beskeden antal, videresender du den prompte til hver af dine to ofre. Derefter fortæller du hvor mange handlinger du har udført indtil nu, nemlig summen af dine ofres svar.

15 dIntProg, F08OO-introduktion.15 Skuespil, et konkret scenarie billeAugust : Instruktør andersLundMadsen : Skuespillerelev brittBendixen : Koreograf klap(2) madsMikkelsen : Skuespillerelev drej(3) agér nervøs og usikker klap(1) agér nervøs og usikker

16 dIntProg, F08OO-introduktion.16 Rollespil i Java og BlueJ

17 dIntProg, F08OO-introduktion.17 BlueJ og Java, oprettelse af objekter Participant apprenti1; apprenti1 = new ApprenticeActor(”Ghita Nørby”);

18 dIntProg, F08OO-introduktion.18 BlueJ og Java, metodekald apprenti1.turn(2);

19 dIntProg, F08OO-introduktion.19 Javakode for skuespil public void directPlayC() { // define the participants Participant soerenPilmark, ghitaNoerby; //casting -- opret objekter soerenPilmark = new Actor(”Soeren Pilmark”); ghitaNoerby = new CharacterActor(”Ghita Noerby”); //direct the play soerenPilmark.clap(2); ghitaNerby.turn(3); soerenPilmark.printNumberOfTricks(); ghitaNoerby.printNumberOfTricks(); }

20 dIntProg, F08OO-introduktion.20 Kristen Nygaard om objektorientering En programudførelse betragtes som et fysisk modelsystem der simulerer opførslen af en reel eller imaginær del af verden. Fysisk modellering er baseret på opfattelse af virkeligheden i ter- mer af fænomener og begreber. Et fysisk modelsystem konstrue- res ved at modellere fænomener som objekter og begreber som klasser. Kristen Nygaard, 1926-2002

21 dIntProg, F08OO-introduktion.21 Modellering, begreber og fænomener (1) Studieadministration –Studerende (Rasmus, Stine, Søren,...) –Fag (dIntProg, Perspektiverende kursus, MM-æstetik,...) –Underviser (mec, gudmund, olavb,...) –Lokale (Aud. E, Koll. G3, Stibitz-113,...) –Prøveform (praktisk, mundtlig, skriftlig, projekt,...) –Prøveresultat (bestået, ikke bestået, udeblevet, 13,...)

22 dIntProg, F08OO-introduktion.22 Modellering, begreber og fænomener (2) Elektroniske patientjournaler (EPJ) –Patient (Joachim B. Olsen, Dr. Margrethe II,...) –Behandling (forbinding, ro, fysioterapi,...) –Diagnose (forstuvet håndled, brækket ben, gulsot,...) –Operation (fjernelse af blindtarm, sterilisation, fedtsugning,...) –Læge (Jesper Hogaard, Lis Vinge Madsen,...) –Sygeplejerske (Jane Clemensen, Bente Aarslev,...)

23 dIntProg, F08OO-introduktion.23 Model for studieadministrationssystem Domæne Fag Studerende * * Lokale 1 * Lærer ** Prøveform * * Karakter 1

24 dIntProg, F08OO-introduktion.24 Model for EPJ-system DomæneModel Læge PatientDiagnose Behandling OverlægeReservelæge... * 1 * *

25 dIntProg, F08OO-introduktion.25 dIntProg Objektorienteret programmering –Java Modeldrevet programmering –programmeringsopgaver tager udgangspunkt i simple OO- modeller som realiseres i Java Målet er praktiske kompetencer mht. programmering –individuel praktisk prøve ved computer –projektet i uge 5 og 6 tager udgangspunkt i jeres domæne Programmering er en kontaktsport –Øv jer!


Download ppt "Introduktion til objektorientering OO, Java og BlueJ."

Lignende præsentationer


Annoncer fra Google