Introduktion til objektorientering. OO, Java og BlueJ
|
|
|
- Gregers Hedegaard
- 8 år siden
- Visninger:
Transkript
1 Introduktion til objektorientering OO, Java og BlueJ
2 Plan Time 1 Objekt-orienteret problemløsning BlueJ eksempel Time 2 Begreber og fænomener à klasser og objekter Modellering Øvelse: itunes
3 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.
4 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.
5 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.
6 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.
7 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.
8 UML: Et grafisk beskrivelsessprog Diagramtyper Klassediagrammer Objektdiagrammer Sekvensdiagrammer Klassediagram Objektdiagram Sekvensdiagram
9 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)
10 Forskellige typer agenter Blomsterhandler Bud levér bringud bindbuket indbetal
11 Interaktion mellem agenter Mig Værkfører IMekaniker CPUTester fix(bil) reparer(bil) testcpu(bil) reparer(bil) EMekaniker karburator Check reparer skrivfaktura
12 Forskellige typer agenter Værkfører IMekaniker EMekaniker fix(bil) skrivfaktura reparer(bil) reparer(bil) checkkarbur ator reparer CPUTester testcpu(bil)
13 I BlueJ
14 BlueJ og Java Oprettelse af Objekter +
15 BlueJ og Java Metodekald
16 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,
17 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,...)
18 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,...)
19 Modellering, begreber og fænomener (3.1) Musikafspiller, f.eks. itunes Find eksempler på begreber og tilhørende fænomener
20 Model for studieadministrationssystem Studerende * 1 Karakter * Lærer * * Fag * 1 Lokale * * Prøveform Domæne
21 Model for EPJ-system Patient * 1 Læge * Diagnose * Behandling... Overlæge Reservelæge Domæne Model
22 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
23 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...
24 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!
Objektorienteret programmering
Forelæsning 1.2 Objektorienteret programmering Java er et OO programmeringssprog BlueJ og Greenfoot er programmeringsomgivelser for Java Praktiske ting Mail sendes til jer på adressen å[email protected]
Forelæsning Uge 1 Mandag
Forelæsning Uge 1 Mandag Hvad er programmering? Program, der kan løse Sudoku opgaver (eksempel) Programmering og problemløsning (generelt) Agenter og metoder UML specifikationssproget Klassediagrammer
Oversigt. Modellering.6. Begrebsmodellering. Begrebsapparat til OO. Fænomener og begreber. Objektorienteret modellering
Oversigt Modellering Begrebsmodellering, UML og Java Begrebsapparat til objektorientering Begrebsopfattelser og -modellering Strukturer: specialisering, aggregering, associering Anvendes til organisering
Forelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel på brug af ArrayList
Programmering 2. dprog2 E2013. http://www.cs.au.dk/dprog2/
Programmering 2 dprog2 E2013 http://www.cs.au.dk/dprog2/ Læringsmål Deltagerne skal ved afslutningen af kurset kunne: forklare og anvende både basale og videregående elementer af et moderne programmeringssprog,
Objects First with Java A Practical Introduction Using BlueJ
Objects First with Java A Practical Introduction Using BlueJ En introduktion til objektorienteret programmering for begyndere ud fra et software engineering aspekt Om at programmere i Java, ikke om værktøjet
Fundamentale sprogbegreber
Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn) Oversigt Sætninger simple sætninger (assignment, metodekald) sammensatte sætninger (selektion,
Programmering 2. dprog2 E2012. http://www.cs.au.dk/dprog2/
Programmering 2 dprog2 E2012 http://www.cs.au.dk/dprog2/ Læringsmål Deltagerne skal ved afslutningen af kurset kunne: forklare og anvende både basale og videregående elementer af et moderne programmeringssprog,
Model og Metode til Programudvikling. Jens Dalsgaard Nielsen
Model og Metode til Programudvikling v/ Jens Dalsgaard Nielsen 1 Hvem er vi? Jens Dalsgaard Nielsen, Afd for Proceskontrol, I8 Distribuerede RT-Systems group Realtid, kerner, operativsystemer, netværk,..
Datatekniker med programmering som speciale
Datatekniker med programmering som speciale H2 H1 varer ti uger bestående af ti uddannelsesspecifikke fag. Indhold På H2 er der fokus på at integrere Objektorienteret Programmering i dine programmer. Fagene
Undervisningsbeskrivelse
Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Institution Uddannelse Fag og niveau Lærer(e) Hold Termin hvori undervisningen afsluttes: maj-juni 2014 HTX
Objektorienteret Analyse & Design
Objektorienteret Analyse & Design Lars Mathiassen, Andreas Munk-Madsen, Peter Axel Nielsen og Jan Stage ISBN: 87-7751-153-0 Udgave: 3. udgave Udgivelsesår: 2001 Antal sider: 452 Pris: Kr. 410,00 På de
Hvem er vi? Kursus Introduktion. Kursuslærerne. Agenda for i dag
Hvem er vi? Kursus Introduktion Anne Haxthausen [email protected] Informatics and Mathematical Modelling Technical University of Denmark 100 studerende med forskellig baggrund: software teknologi It og Kom
II. Beskrivelse af kandidatuddannelsens discipliner
II. Beskrivelse af kandidatuddannelsens discipliner Særfag 18. Agenter, handlinger og normer (Agents, actions and norms) a. Undervisningens omfang: 4 ugentlige timer i 2. semester. Efter gennemførelsen
Selam Friskole Fagplan for Matematik
Selam Friskole Fagplan for Matematik Formål Formålet med undervisningen er, at eleverne udvikler matematiske kompetencer og opnår viden og kunnen således, at de bliver i stand til at begå sig hensigtsmæssigt
Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations
Tabelbegrebet Klassediagrammer (III) Tabeller og qualified associations originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University
Ens eller forskellig?
Ens eller forskellig? Geometri i 5./6. klasse Niels Kristen Kirk, Christinelystskolen Kaj Østergaard, VIA UC Plan Didaktisk design - modellen Fra model til praksis indledende overvejelser En konkret udmøntning
Hassansalem.dk/delpin User: admin Pass: admin BACKEND
Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin
Modellering & IT-understøttelse af forretningsprocesser
Modellering & IT-understøttelse af forretningsprocesser Lars Bækgaard Lektor, Informatik 2 Oversigt Formål Udfordringer Metodeskitse Afrunding 1 3 Formål Skabe sammenhæng mellem teknologi, information
DM502. Peter Schneider-Kamp ([email protected]) http://imada.sdu.dk/~petersk/dm502/
DM502 Peter Schneider-Kamp ([email protected]) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!
Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java
Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger
Modul 10 Akut og kritisk syge patienter/borgere
Uddannelse til professionsbachelor i sygepleje - et særligt tilrettelagt forløb med fritagelse af 60 ECTS-point Sundhedsfaglig Højskole Sygeplejerskeuddannelsen Viborg/Thisted Januar 2014 Modulets tema
Læseplan for valgfaget teknologiforståelse. (forsøg)
Læseplan for valgfaget teknologiforståelse (forsøg) Indhold Indledning 3 Trinforløb for 7.- 9. klassetrin 4 Design 4 Programmering 5 Indledning Valgfaget teknologiforståelse er etårigt og kan vælges i
Læseplan for valgfaget teknologiforståelse
Læseplan for valgfaget teknologiforståelse (forsøg) Indhold Indledning 3 Trinforløb for 7.- 9. klassetrin 4 Design 4 Programmering 5 Indledning Valgfaget teknologiforståelse er etårigt og kan vælges i
Undervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B
Undervisningsplan Termin 2015-2016 Institution Uddannelse Fag og niveau Lærer(e) Hold Rybners Tekniske Gymnasium HTX Informationsteknologi B Jeppe Moritz Led, Jens Ahlmann Hansen 8HX215ema Oversigt over
Informationsteknologi B Forsøgslæreplan, december 2010
Informationsteknologi B Forsøgslæreplan, december 2010 1.1 Identitet Informationsteknologi bygger på abstraktion og logisk tænkning. Faget beskæftiger sig med itudvikling i et samspil mellem model/teori
Curriculum Vitae for Per Odderskov.
Curriculum Vitae for Per Odderskov. Demografiske data Navn: Per Odderskov Bopæl: Nedergårds Alle 5, 8200 Århus N Født: 1957 Civil stand: Gift Nationalitet: Dansk Resume Jeg har en mangeårig baggrund som
Matematik. Matematiske kompetencer
Matematiske kompetencer formulere sig skriftligt og mundtligt om matematiske påstande og spørgsmål og have blik for hvilke typer af svar, der kan forventes (tankegangskompetence) løse matematiske problemer
3. klasse 6. klasse 9. klasse
Børne- og Undervisningsudvalget 2012-13 BUU Alm.del Bilag 326 Offentligt Elevplan 3. klasse 6. klasse 9. klasse Matematiske kompetencer Status tal og algebra sikker i, er usikker i de naturlige tals opbygning
Object-Relational Mapping
Databaser for udviklere () Datamatiker TietgenSkolen Underviser: Allan Helboe 06-06-2010 Problemformulering Denne opgave er et forsøg på at beskrive problemerne der opstår ved anvendelsen af en relationel
Lilleby Kommunebibliotek
Lilleby Kommunebibliotek Første projekt i Systemudvikling Arne Jørgensen, Christian Skovgaard, Lotte Simonsen og Sonny Petersen 3. november 2003 Indledning... Problemformulering... Problemanalyse... Projektafgrænsning...
Evaluering af matematik undervisning
Evaluering af matematik undervisning Udarbejdet af Khaled Zaher, matematiklærer 6-9 klasse og Boushra Chami, matematiklærer 2-5 klasse Matematiske kompetencer. Fællesmål efter 3.klasse indgå i dialog om
UML-Light (Note: UML-Light T133, ver. 2004) Finn Overgaard Hansen, IHA
UML-Light (Note: UML-Light T33, ver. 2004) Finn Overgaard Hansen, IHA Programmering PRG + Semesterprojekter PRJ+PRJ2 Version: 20--2004 Indhold Første del: Introduktion til UML-Light og UML Klasser og objekter
Fagårsplan 10/11 Fag: Matematik Klasse: 7.ABC Lærer: Henrik Stillits. Fagområde/ emne
Fagårsplan 10/11 Fag: Matematik Klasse: 7.ABC Lærer: Henrik Stillits. Fagområde/ emne Matematiske færdigheder Grundlæggende færdigheder - plus, minus, gange, division (hele tal, decimaltal og brøker) Identificer
Læreplansændringer & Nye eksamensformer mulige scenarier
Læreplansændringer & Nye eksamensformer mulige scenarier Læreplansændringer? Nye kernestofemner? Færre? Flere? Specielt: Trigonometri og statistik hvordan? Eksamensopgaver? Programmering? Bindinger på
Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net)
Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Kim Harding Christensen EOS A/S Margrethepladsen 3 8000 Århus TLF: 8732 8787
Introduktion til OO* og UML
Introduktion til OO* og UML Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Hvad er OO*? UML Essensen af objekt-orienteret analyse og design: klassebegrebet Relationer mellem objekter
Modul 10 Ekstern teoretisk prøve
Uddannelse til professionsbachelor i sygepleje - et særligt tilrettelagt forløb med fritagelse af 60 ECTS-point Sundhedsfaglige Højskole Sygeplejerskeuddannelsen Viborg/Thisted Januar 2014 Modul 10 Ekstern
Kursuskatalog 2014 TwinCAT 3.1
Kursuskatalog 2014 TwinCAT 3.1 Kursusoversigt 2014 Modul 30 Basic Kursus K143001 K143002 K143003 K143004 Dato 25. 26.02.14 13. 14.05.14 02. 03.09.14 04. 05.11.14 Modul 31 Konvertering fra TC2 til TC3 Kursus
Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav.
Miniprojekt2011 Projektbeskrivelse Der skal fremstilles en lille java application på PC, hvor brugeren kan foretage interaktioner med en simpel database på disken via et grafisk brugerinterface. Formålet
Undervisningsplan for matematik
Undervisningsplan for matematik Formål for faget Formålet med undervisningen i matematik er, at eleverne udvikler kompetencer og opnår viden og kunnen således, at de bliver i stand til at begå sig hensigtsmæssigt
Matematik samlet evaluering for Ahi Internationale Skole
efter 3.klasse. e efter 6.klasse. e Skole efter 9.klasse. e indgå i dialog om spørgsmål og svar, som er karakteristiske i arbejdet med matematik (tankegangskompetence formulere sig skriftligt og mundtligt
Videregående Programmering for Diplom-E Noter
Videregående Programmering for Diplom-E Noter 1. Uddelegering Ét af de væsentlige principper i objektorienteret programmering er, at enhver klasse selv skal kunne "klare ærterne". Enhver klasse skal altså
Erfaringer med PBL læringsmål i studieordning for Sundhedsteknologi. Pia Elberg, formand for studienævn for Sundhed, Teknologi og Idræt August 2018
Erfaringer med PBL læringsmål i studieordning for Sundhedsteknologi Pia Elberg, formand for studienævn for Sundhed, Teknologi og Idræt August 2018 Baggrund Revision af ST SO som led i Selvevalueringshandlingsplan
CL i Sygeplejerskeuddannelsen Det samarbejdende læringsrum
Side 1 CL i Sygeplejerskeuddannelsen Det samarbejdende læringsrum Lektor, Mph & sygeplejerske Det Sundhedsfaglige og Teknologiske Fakultet Navn Navnesen Titel Afdelning 10 august 2009 Cooperative Learning
3D matriklen i et fremtidsperspektiv
3D matriklen i et fremtidsperspektiv Lars Bodum Center for 3D GeoInformation Aalborg Universitet Esben Munk Sørensen Land Management Aalborg Universitet Hvad er problemet? Vi diskuterer mange gange løsninger
Tavs viden i praktik. Randi Andersen
Tavs viden i praktik Randi Andersen Hvorfor undersøge tavs viden i praktik hos pædagoger og sygeplejersker? Begrebet tavs viden benyttes som om det er noget der er særligt meget af indenfor de to professioner
Hvad er Objekter - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som
SUP-specifikation, version 2.0. Bilag 14. SUP-Styregruppen. Ordliste (informativ) Udkast af 12. juni Udarbejdet for
SUP-specifikation, version 2.0 Bilag 14 Ordliste (informativ) Udkast af 12. juni 2003 Udarbejdet for SUP-Styregruppen Uddrag af indholdet kan gengives med tydelig kildeangivelse Ordliste Anvendelsen af
Programmering i folkeskolen
Programmering i folkeskolen Danmark har et mål om at være et af verdens førende it-samfund, men virkeligheden er desværre en anden. Kun ganske få unge mennesker har en tilstrækkelig indsigt i den måde,
Forelæsning 1.1 Kursusintroduktion Introduktion til programmering
Forelæsning 1.1 Kursusintroduktion Introduktion til programmering Greenfoot Hvad kan I forvente at lære på kurset? Simpel programmering til husbehov I vil lære nogle grundliggende ting omkring programmering
Bilag 1: Ekstrakt af forretningsarkitekturanalyse af digital understøttelse af tværgående komplekse patientforløb
Bilag 1: Ekstrakt af forretningsarkitekturanalyse af digital understøttelse af tværgående komplekse patientforløb (Bilag til dagsordenspunkt 2, Orientering om Arkitekturanalyse på sundhedsområdet af komplekse
Introduktion...15 Grunduddannelsen...16 Bogens struktur...16
INDHOLDSFORTEGNELSE Introduktion....15 Grunduddannelsen....16 Bogens struktur....16 DEL 1 Det senmoderne samfund...19 Kapitel 1 Sygeplejersken på arbejde....21 AF ANNE HYTTEL AGERHOLM OG TANJA CHRÆMMER
F15 basiskursus 4: Samfundsvidenskabeligt grundkursus i økonomi. Studerende på 2. semester vil automatisk blive tilmeldt til kurset.
F15 basiskursus 4: Samfundsvidenskabeligt grundkursus i økonomi Om kurset Uddannelse Kursustype Tilmelding Den samfundsvidenskabelige bacheloruddannelse Basiskursus Studerende på 2. semester vil automatisk
Ekstern teoretisk prøve Modul 10
Udfold dit talent VIA University College Dato: 15. august 2014 Journalnr.: U0275-1-05-1-14 Ref.: sfs Ekstern teoretisk prøve Modul 10 Formål Det er formålet med denne prøve at du som studerende viser at
Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september 2008. (Tak til Jakob Bardram for nogle slides) Dagens begreber
Klasser Grundlæggende Programmering med Projekt Peter Sestoft Tirsdag 2. september 2008 (Tak til Jakob Bardram for nogle slides) Dagens begreber Felt (field) Metode (method) Parameter (parameter) Sætning,
RUDER CUP Gyttegaard Golfklub SAMLET RESULTAT. Singler Doubler I alt 36,00 12,00 48,00
RUDER CUP 2018 Gyttegaard Golfklub SAMLET RESULTAT Singler Doubler I alt Jelling 8,50 4,00 12,50 Brande 6,00 2,00 8,00 Give 7,75 2,00 9,75 Gyttegaard 13,75 4,00 17,75 36,00 12,00 48,00 Jonas Poulsen Jelling
Space Challenge og Undervisningsminsteriets Fælles Mål for folkeskolen
Space Challenge og Undervisningsminsteriets Fælles Mål for folkeskolen I dette kapitel beskrives det, hvilke Fælles Mål man kan nå inden for udvalgte fag, når man i skolen laver aktiviteter med Space Challenge.
Perspektiverende Datalogikursus
Perspektiverende Datalogikursus Algoritmer og kompleksitet Gerth Stølting Brodal 1 Perspektiverende kursus Formål: Vise bredden af Datalogi. Vise fagets anvendelighed. Vise konkrete eksempler på hvad datalogi
