Introduktion til objektorientering

  • View
    17

  • Download
    1

Embed Size (px)

DESCRIPTION

Introduktion til objektorientering. OO, Java og BlueJ. Plan. Time 1 Objekt-orienteret problemlsning BlueJ eksempel Time 2 Begreber og fnomener klasser og objekter Modellering velse: iTunes. Problemlsning i hverdagen (1). - PowerPoint PPT Presentation

Transcript

  • Introduktion til objektorienteringOO, Java og BlueJ

  • Plan

    Time 1Objekt-orienteret problemlsningBlueJ eksempel

    Time 2Begreber og fnomener klasser og objekterModelleringvelse: iTunes

    dIntProg, E12

  • dIntProg, E12Problemlsning i hverdagen (1)

    Hvis min bil gr i stykker, har jeg et problem; hvad gr jeg for at lse det?Henvender mig p et bilvrksted og forklarer dem hvori problemet bestr.Overlader bilen til vrkfreren og fr den tilbage i repareret stand nogen tid efter.

    Hvad har jeg gjort for at lse mit problem?Fundet en passende agent eller serviceudbyder.Overbragt agenten en meddelelse om mit problem.Det er blevet agentens ansvar at lse problemet p mine vegne.Agenten har en metode til at lse problemet, men den behver jeg ikke at kende til.

  • dIntProg, E12Problemlsning 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 srger for at fremskaffe blomsterne, binde en buket og f dem sendt ud til min farmor.

  • dIntProg, E12Pointe 1: Delegering til agenter

    Afkobling

    Agenters valg af metode er ikke mit problem; tvrtimod er der stor fleksibilitet i at vi ikke blander os i agenters (eksempelvis blomsterhandleres eller vrkfreres) metoder.

    Agenter er fri til at anvende en vilkrlig fremgangsmde, blot de leverer en lsning p problemet det er deres ansvar.

  • dIntProg, E12Pointe 2: Forskellige typer af agenter

    Forskellige typer agenter

    Agenten er modtager af min meddelelse og dermed en ndvendig betingelse for at problemet bliver lst.

    Hver slags (type) agent har sine metoder som er specifikke for netop den service han kan tilbyde.

    Havde jeg henvendt mig til vrkfreren med mit blomster-problem ville han sikkert have givet en besked tilbage om at han ikke havde nogen metode til at lse problemet.

  • dIntProg, E12Pointe 3: Om benyttelse af metaforer i OO

    En af fordelene ved OOP er benyttelsen af metaforer fra dagligdagen.

    En OO-programmr kan

    tnke p sit program som nogle objekter der opfrer sig p bestemte mder og har visse ansvar at leve op til

    trkke p et vld af erfaringer fra dagligdagen og herved f ideer til strukturering af det samlede program.

  • dIntProg, E12UML: Et grafisk beskrivelsessprog

    DiagramtyperKlassediagrammerObjektdiagrammerSekvensdiagrammer

  • dIntProg, E12Interaktion mellem agenterMigAlexandra BlomsterQuist BlomsterBud-JohnnyFarmorlevr(b,a,p)levr(b,a,p)bindBuket(b)bringUd(b,a)overbring(b)

  • dIntProg, E12Forskellige typer agenterBlomsterhandlerBudlevr

    bindBuket

    indbetalbringUd

  • dIntProg, E12Interaktion mellem agenter

  • dIntProg, E12Forskellige typer agenter

  • I BlueJdIntProg, E12

  • BlueJ og Java Oprettelse af ObjekterdIntProg, E12+

  • BlueJ og Java MetodekalddIntProg, E12

  • dIntProg, E12Kristen Nygaard om objektorienteringEn programudfrelse betragtes som et fysisk modelsystem der simulerer opfrslen af en reel eller imaginr del af verden.

    Fysisk modellering er baseret p opfattelse af virkeligheden i ter-mer af fnomener og begreber.

    Et fysisk modelsystem konstrue-res ved at modellere fnomener som objekter og begreber som klasser.

    Kristen Nygaard, 1926-2002

  • dIntProg, E12Modellering, begreber og fnomener (1)

    Studieadministration

    Studerende (Rasmus, Stine, Sren, ...)

    Fag (dIntProg, Perspektiverende kursus, MM-stetik, ...)

    Underviser (mec, gudmund, olavb, ...)

    Lokale (Aud. E, Koll. G3, Stibitz-113, ...)

    Prveform (praktisk, mundtlig, skriftlig, projekt, ...)

    Prveresultat (bestet, ikke bestet, udeblevet, 13, ...)

  • dIntProg, E12Modellering, begreber og fnomener (2)

    Elektroniske patientjournaler (EPJ)

    Patient (Joachim B. Olsen, Dr. Margrethe II, ...)

    Behandling (forbinding, ro, fysioterapi, ...)

    Diagnose (forstuvet hndled, brkket ben, gulsot, ...)

    Operation (fjernelse af blindtarm, sterilisation, fedtsugning, ...)

    Lge (Jesper Hogaard, Lis Vinge Madsen, ...)

    Sygeplejerske (Jane Clemensen, Bente Aarslev, ...)

  • dIntProg, E12Modellering, begreber og fnomener (3.1)

    Musikafspiller, f.eks. iTunes

    Find eksempler p begreber og tilhrende fnomener

  • dIntProg, E12Model for studieadministrationssystemDomneFagStuderende**Lokale1*Lrer**Prveform**Karakter1

  • dIntProg, E12Model for EPJ-systemDomneModelLgePatientDiagnoseBehandlingOverlgeReservelge...*1**

  • dIntProg, E12Modellering, begreber og fnomener (3.2)

    Musikafspiller, f.eks. iTunes

    Giv bud p relevante klasser og relationer mellem disseGiv bud p funktionalitet og ansvarsplacering heraf

  • dIntProg, E12Modellering, begreber og fnomener (3.3)

    Musikafspiller, f.eks. iTunes

    Udsnit af klassemodel for iTunes

    void add(Track t)void remove(Track t)

    List search(String s)

    void shuffle()void sort(...)

    void burnToDisc()...add(Playlist p)remove(Playlist p)

    void import(...)void export(...)

    ...

  • dIntProg, E12dIntProgObjektorienteret programmeringJava

    Modeldrevet programmeringprogrammeringsopgaver tager udgangspunkt i simple OO-modeller som realiseres i Java

    Mlet er praktiske kompetencer mht. Programmeringproblemlsning in the smallstandardlsninger p standardproblemer (mnstre)individuel praktisk prve ved computer

    Programmering er en kontaktsportv jer!

    ****Hvad vs. Hvordan***********Skriv forslagene ind under forelsningen.***Skriv forslagene ind under forelsningen.*Skriv forslagene ind under forelsningen.*