Introduktion til objektorientering. OO, Java og BlueJ

Relaterede dokumenter
Problemløsning i hverdagen (1) Introduktion til objektorientering. Delegering til agenter. Problemløsning i hverdagen (2)

Objektorienteret programmering

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Mandag

Velkommen til Introduktion til Programmering

Velkommen til Introduktion til Programmering

Forelæsning Uge 3 Mandag

Oversigt. Modellering.6. Begrebsmodellering. Begrebsapparat til OO. Fænomener og begreber. Objektorienteret modellering

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag

Forelæsning Uge 2 Torsdag

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag

Programmering 2. dprog2 E

Forelæsning Uge 5 Mandag

Objects First with Java A Practical Introduction Using BlueJ

Fundamentale sprogbegreber

Programmering 2. dprog2 E

FIP - Karrierekompetence i programmeringsfaget

Forelæsning Uge 2 Mandag

Model og Metode til Programudvikling. Jens Dalsgaard Nielsen

Datatekniker med programmering som speciale

Mål Introducerer de studerende for forskellige anvendelser af IT i den offentlige sektor, samt til programmering af sådanne IT systemer.

Undervisningsbeskrivelse

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4

Objektorienteret Analyse & Design

Hvem er vi? Kursus Introduktion. Kursuslærerne. Agenda for i dag

Undervisningsbeskrivelse

Forelæsning Uge 1 Mandag

II. Beskrivelse af kandidatuddannelsens discipliner

Selam Friskole Fagplan for Matematik

Undervisningsbeskrivelse

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations

Ens eller forskellig?

Jan B. Larsen HTX Næstved Computational Thinking Albena Nielsen N. Zahles Gymnasium 2018/2019

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

Modellering & IT-understøttelse af forretningsprocesser

Skriftlig eksamen i Datalogi

DM502. Peter Schneider-Kamp

Undervisningsbeskrivelse

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Modul 10 Akut og kritisk syge patienter/borgere


Læseplan for valgfaget teknologiforståelse. (forsøg)

Læseplan for valgfaget teknologiforståelse

Undervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B

Informationsteknologi B Forsøgslæreplan, december 2010

Generel projektbeskrivelse

Curriculum Vitae for Per Odderskov.

Matematik. Matematiske kompetencer

Studieordning del

Undervisningsbeskrivelse

Semesterbeskrivelse Innovation og Digitalisering, 1. semester.

1) Mennesker, computere og interaktion. Her er omdrejningspunktet basale forudsætninger for interaktion mellem mennesker og computere.

3. klasse 6. klasse 9. klasse

Object-Relational Mapping

Lilleby Kommunebibliotek

Evaluering af matematik undervisning

UML-Light (Note: UML-Light T133, ver. 2004) Finn Overgaard Hansen, IHA

Forelæsning Uge 3 Mandag

Fagårsplan 10/11 Fag: Matematik Klasse: 7.ABC Lærer: Henrik Stillits. Fagområde/ emne

Forelæsning Uge 6 Mandag

Læreplansændringer & Nye eksamensformer mulige scenarier

dintprog Manual Revision: 731 September 30, Introduktion Notation... 3 I Begreber 4 2 Grundbegreber om programmering 4

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net)

Introduktion til OO* og UML

Modul 10 Ekstern teoretisk prøve

Undervisningsbeskrivelse

Kursuskatalog 2014 TwinCAT 3.1

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav.

Undervisningsplan for matematik

S17: Offentlig Økonomi, teori og metode / F17 PA: Kursus 1: Offentlig økonomi og regulering

Matematik samlet evaluering for Ahi Internationale Skole

Videregående Programmering for Diplom-E Noter

Referat af MR-møde d. 22. maj 2014 kl Frokoststuen, Folkesundhed. Bygning 1260

Dansk Selskab for Evidensbaseret Akupunktur - DSEA. Akupunktur for læger og sygeplejersker i Almen Praksis Modul IV

Erfaringer med PBL læringsmål i studieordning for Sundhedsteknologi. Pia Elberg, formand for studienævn for Sundhed, Teknologi og Idræt August 2018

Tilmelding sker via STADS Selvbetjening indenfor annonceret tilmeldingsperiode, som du kan se på Studieadministrationens hjemmeside

CL i Sygeplejerskeuddannelsen Det samarbejdende læringsrum

3D matriklen i et fremtidsperspektiv

Studieordning for diplomuddannelsen i informationsteknologi

DUF møde INSTITUT FOR DATALOGI SCIENCE AND TECHNOLOGY AARHUS UNIVERSITET

Undervisningsbeskrivelse

Tavs viden i praktik. Randi Andersen

Hvad er Objekter - Programmering

Introduktion. Grundlæggende programmering Lektion 1

SUP-specifikation, version 2.0. Bilag 14. SUP-Styregruppen. Ordliste (informativ) Udkast af 12. juni Udarbejdet for

Programmering i folkeskolen

Tilmelding sker via STADS Selvbetjening indenfor annonceret tilmeldingsperiode, som du kan se på Studieadministrationens hjemmeside

Forelæsning 1.1 Kursusintroduktion Introduktion til programmering

Bilag 1: Ekstrakt af forretningsarkitekturanalyse af digital understøttelse af tværgående komplekse patientforløb

Introduktion...15 Grunduddannelsen...16 Bogens struktur...16

F15 basiskursus 4: Samfundsvidenskabeligt grundkursus i økonomi. Studerende på 2. semester vil automatisk blive tilmeldt til kurset.

Ekstern teoretisk prøve Modul 10

Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september (Tak til Jakob Bardram for nogle slides) Dagens begreber

RUDER CUP Gyttegaard Golfklub SAMLET RESULTAT. Singler Doubler I alt 36,00 12,00 48,00

Space Challenge og Undervisningsminsteriets Fælles Mål for folkeskolen

Perspektiverende Datalogikursus

Transkript:

Introduktion til objektorientering OO, Java og BlueJ

Plan Time 1 Objekt-orienteret problemløsning BlueJ eksempel Time 2 Begreber og fænomener à klasser og objekter Modellering Øvelse: itunes

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.

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.

Pointe 1: 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.

Pointe 2: 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 slags (type) agent har sine metoder som er specifikke for netop den service han kan tilbyde. Havde jeg henvendt mig til værkføreren med mit blomsterproblem ville han sikkert have givet en besked tilbage om at han ikke havde nogen metode til at løse problemet.

Pointe 3: 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.

UML: Et grafisk beskrivelsessprog Diagramtyper Klassediagrammer Objektdiagrammer Sekvensdiagrammer Klassediagram Objektdiagram Sekvensdiagram

Interaktion mellem agenter Mig Alexandra Blomster Quist Blomster Bud-Johnny Farmor levér(b,a,p) levér(b,a,p) bindbuket(b) bringud(b,a) overbring(b)

Forskellige typer agenter Blomsterhandler Bud levér bringud bindbuket indbetal

Interaktion mellem agenter Mig Værkfører IMekaniker CPUTester fix(bil) reparer(bil) testcpu(bil) reparer(bil) EMekaniker karburator Check reparer skrivfaktura

Forskellige typer agenter Værkfører IMekaniker EMekaniker fix(bil) skrivfaktura reparer(bil) reparer(bil) checkkarbur ator reparer CPUTester testcpu(bil)

I BlueJ

BlueJ og Java Oprettelse af Objekter +

BlueJ og Java Metodekald

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 termer af fænomener og begreber. Et fysisk modelsystem konstrueres ved at modellere fænomener som objekter og begreber som klasser. Kristen Nygaard, 1926-2002

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,...)

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,...)

Modellering, begreber og fænomener (3.1) Musikafspiller, f.eks. itunes Find eksempler på begreber og tilhørende fænomener

Model for studieadministrationssystem Studerende * 1 Karakter * Lærer * * Fag * 1 Lokale * * Prøveform Domæne

Model for EPJ-system Patient * 1 Læge * Diagnose * Behandling... Overlæge Reservelæge Domæne Model

Modellering, begreber og fænomener (3.2) Musikafspiller, f.eks. itunes Giv bud på relevante klasser og relationer mellem disse Giv bud på funktionalitet og ansvarsplacering heraf

Modellering, begreber og fænomener (3.3) Musikafspiller, f.eks. itunes Udsnit af klassemodel for itunes Player Playlist Track add(playlist p) remove(playlist p) void import(...) void export(...)... * void add(track t) void remove(track t) List<Track> search(string s) void shuffle() void sort(...) void burntodisc()... * time name artist album rating playcount lastplayed dateadded releasedate...

dintprog Objektorienteret programmering Java Modeldrevet programmering programmeringsopgaver tager udgangspunkt i simple OOmodeller som realiseres i Java Målet er praktiske kompetencer mht. Programmering problemløsning in the small standardløsninger på standardproblemer (mønstre) individuel praktisk prøve ved computer Programmering er en kontaktsport Øv jer!