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

Størrelse: px
Starte visningen fra side:

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

Transkript

1 Oversigt Modellering Begrebsmodellering, UML og Java Begrebsapparat til objektorientering Begrebsopfattelser og -modellering Strukturer: specialisering, aggregering, associering Anvendes til organisering af viden om problemområdet Understøttes (i nogen grad) af konstruktioner i OO sprog Modelleringseksempler Abstrakte modeller i UML Implementation i Java Mindre eksempler: bibliotek, biludlejning, terning og raflebæger Case: Biografbookingsystem Modellering.2 Begrebsapparat til OO Begrebsmodellering Objektorienteret programmering á la Nygaard et program betragtes som en fysisk model der simulerer opførslen af en imaginær eller reel del af verden. Problemspecifikke modellering Realiserede Fysisk modellering er baseret på en opfattelse af virkeligheden i termer af og fænomener. abstraktion abstraktion En fysisk model konstrueres ved at modellere som klassser og fænomener som objekter. Problem/vision vedrørende fænomener Objekter Problemdomæne Model Modellering.3 Modellering.4 Objektorienteret modellering Fænomener og Hvilken del af problemdomænet er relevant? Hvordan betragtes denne del af problemdomænet? Hvilke fænomener skal modelleres? Hvordan forstås fænomener i termer af? Et fænomen er en ting der har en bestemt, individuel eksistens (fysisk eller imaginær) Et begreb er en generaliseret ide af en samling af fænomener baseret på viden om fælles egenskaber ved fænomenerne i samlingen Hvad er et begreb? Modellering.5 Modellering.6

2 Om Eksempler på Designation (benævnelse) Den samling af navne under hvilke begrebet er kendt Ekstension Den samling fænomener som begrebet dækker Intension En samling egenskaber som karakteriserer fænomenerne i begrebets ekstension Designation Ekstension Intension Hest Rektangel Mad Modellering.7 Modellering.8 Aristotelisk begrebsopfattelse Prototypisk begrebsopfattelse Karakteristik (intension :-) Intensionen omfatter definerende egenskaber som alle fænomener i ekstensionen skal have og karakteristiske egenskaber som fænomener i ekstensionen kan have Veldefinerede med skarpe grænser Relativt homogene fænomener Ekstensionen er entydigt fastlagt ved intensionen Eksempler (ekstension :-) Findes inden for veletablerede fagområder som matematik, fysik, zoologi, botanik Karakteristik (intension :-) Intensionen omfatter eksempler på egenskaber som fænomener i ekstensionen kan have samt en udvalgt samling af typiske fænomener: prototyper Uldne med uskarpe grænser Stor variation mellem fænomener Ekstensionen er ikke entydigt fastlagt ved intensionen Eksempler (ekstension :-) Overalt! Modellering.9 Modellering.0 Begrebsmodellering, igen Dannelse af PSB Problemdomæne RB Model Identifikation af objekter Klassifikation gruppering Generalisering/specialisering is-a Problemspecifikke (PSB) er oftest prototypiske Realiserede (RB) er Aristoteliske Udfordring i modellering at give aristotelisk definition til prototypiske Aggregering has-a Associering X-a Organisering af viden Modellering. Modellering.2 2

3 Identifikation af objekter Klassifikation (abstraktion) Sokrates Uden abstraktion ville alt være _??? Miss Daimi Hannibals march over alperne Peter Bastian Sirius 2000 Herbie Ritt Bjerregaard Klassifikation er et middel til at danne og skelne mellem forskellige klasser af fænomener og To former for klassifikation Gruppering Generalisering/specialisering Modellering.3 Modellering.4 Gruppering Generalisering/specialisering (is-a) Samling af ens fænomener til. Samling af til over (generaliserede ). Person Køretøj Peter Sokrates Ritt Miss Daimi Herbie Truck Bus Rejse Personbil Taxa Ambulance Sirius 2000 Hannibals march over Alperne Stationcar Sedan Modellering.5 Modellering.6 Hvad gør et begreb specielt? Specialisering: ekstra egenskaber Transportmiddel Fly Passagerfly Rutefly 4-personers fly Militærfly Skib Køretøj Bus Lastbil Varevogn Pick-up Truck Personbil Privatbil Taxa Cykel Figur Ellipse Cirkel Trekant Ligebenet Ligesidet Retvinklet Firkant Trapez Parallellogram Rektangel Kvadrat Drage Tilføjelse af egenskaber! A B B is-a A Intension(B) Intension(A) Ekstension(B) Ekstension(A) Modellering.7 Modellering.8 3

4 Klasser og objekter Specialisering i UML (is-a) Klasser repræsenterer Objekter repræsenterer fænomener Blomsterhandler levér() bindbuket() indbetal() Alexandra Blomster Quist Blomster Biering Blomster Generelt begreb Specielle Bog forfatter() forlag() ISBN() Udlånsemne udlån(l: låner) indlån() erhjemme() Video producer() format() spilletid() Modellering.9 Modellering.20 Specialisering i Java Associering i UML (X-a) class Udlånsemne { void udlån(låner l) { // kode for udlån void indlån() { // kode for hjemlån boolean erhjemme() { // kode for erhjemme class Bog extends Udlånsemne { String forfatter() { String forlag() { String ISBN() { class Video extends Udlånsemne { String producer() { String format() { int spilletid() { X = har-lejet 0.. Kunde lej(b: ) aflever(b: ) Behandles først i detaljer i kapitel 8-9 Modellering.2 Modellering.22 Associering i Java Aggregering (has-a) class Car { Car() { class Customer { Collection<Car> cars; Customer() { cars = new ArrayList<Car>(); void rent(car c) { cars.add(c); void derent(car c) { cars.remove(c); Struktur mellem der beskriver et hele og (nogle af) de dele som helet består af. Varighed Afrejsested Rejse Motor Hjul Karosseri Sæde Dør Tag Skærm Transportmiddel Destination Modellering.23 Modellering.24 4

5 Aggregering i UML og Java Die roll() value() DieCup rollall() sum() class Die { private int eyes; public Die() { public void roll() { public int value() { class DieCup { private Collection<Die> c; public DieCup(int s) { c = new ArrayList<Die>(); for (int i=0; i<s; i++) { Die d = new Die(); c.add(d); public void rollall() { public int sum() { Modellering.25 Aggregering vs. associering Hårfin grænse mellem aggregering og associering Hvis du er i tvivl: benyt associering! Aggregering komponenten eksisterer kun fordi den er en del af aggregatet aggregatet har ansvaret for oprettelse af komponenten når aggregatet ophører med at eksistere, ophører også komponenten med at eksistere Associering objekterne kan ekistere uafhængigt af hinanden relationen er dynamisk (eks: bil udlejet til person) Modellering.26 Eksempel: et biografbookingsystem Begrebsmodel i UML En reservation er til en bestemt forestilling. Forestillinger planlægges ved fastsættelse af film, sal, dato og klokkeslet. Beskrivelse Et biografbookingsystem skal holde styr på reservationer til en biograf med et antal sale. Hver sal har sæder arrangeret i rækker. En kunde kan reservere et eller flere sæder og får et række- og sædenummer retur for hvert sæde der reserveres. Kundens identifikation er telefonnummer. Bookingsystem Kunde Sæde Reservation Forestilling Dato Film Navneord bookingsystem, reservation, biograf, sal, sæde, række, kunde, forestilling, film, dato, klokkeslet, telefonnummer Række Sal Klokkeslet Udsagnsord reservere, planlægge Modellering.27 Modellering.28 Begrebsdannelse og oo-sprog Direkte repræsentation Klassifikation gruppering class PSB RB Specialisering is-a extends Aggregering has-a Reference (attribut) evt. indre klasse Referencesystem Modelsystem Associering X-a Reference (attribut) Objektorienterede programmeringssprog har abstraktionsmekanismer der muliggør en direkte repræsentation af og begrebsstrukturer fra problemområdet. Modellering.29 Modellering.30 5

6 Systematik i OOP Udvalgte objektorienterede sprog Modellering fra problembeskrivelse til begrebsmodel forfinelse til klassemodel (metodesignaturer og specifikationer) Fortran Algol Lisp Implementering strukturelt: fra klassemodel til Java-kode (automatik) indmad: attributter og metoder (kreativitet og systematik) Pascal Simula BETA C++ Imperative sprog C Java Smalltalk FP Standard ML Miranda Haskell Prolog Problemdomæne Funktionssprog Logiksprog Modellering.3 Modellering.32 6

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

Problemløsning i hverdagen (1) Introduktion til objektorientering. Delegering til agenter. Problemløsning i hverdagen (2) Problemløsning i hverdagen () Introduktion til objektorientering OO, Java og BlueJ 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

Læs mere

Introduktion til objektorientering. OO, Java og BlueJ

Introduktion til objektorientering. OO, Java og BlueJ 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

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

Læs mere

Objektorienteret programmering

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 årskortnr@post.au.dk

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Problemløsning i hverdagen Agenter og metoder UML specifikationssproget Klassediagrammer Sekvensdiagrammer Eksempler på modellering Mekanikværksted Blomsterhandel Studieadministration

Læs mere

Objects First with Java A Practical Introduction Using BlueJ

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

Læs mere

Analyse, problemområde, anvendelsesområde

Analyse, problemområde, anvendelsesområde OOA&D, kap. 1-5 Fiktiv case Det supermarked I dagligt handler i, skal have et integreret kasse-, lagerstyrings- og EDI-system. Systemet skal gøre det muligt at sænke varebeholdningen uden at der kommer

Læs mere

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

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

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Objekters tilstand og opførsel BlueJ og Greenfoot Java Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Forskellige slags variabler Afleveringsopgave:

Læs mere

2 Abstrakte datatyper.

2 Abstrakte datatyper. 2 Abstrakte datatyper. Motivere eksempel: top-down udvikling af program 'mini-bank' Strukturering af et program: efter data eller funktion? Definition af en abstrakt datatype og tilknyttede begreber. Fænomener,

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition) Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer

Læs mere

Forelæsning Uge 3 Torsdag

Forelæsning Uge 3 Torsdag Forelæsning Uge 3 Torsdag Billedredigering Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt) antal elementer Afleveringsopgave:

Læs mere

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5 Databaser og SQL Introduktion til SQL Kap 1-5 1 Dagens gang Databaser Database begreber Mapning af klasser til relationel model Normalisering Opgaver til næste gang 2 Databasebegreber A database is a:

Læs mere

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

Læs mere

Mattip om. Geometri former og figurer. Du skal lære: Kan ikke Kan næsten Kan. At finde og tegne former og figurer

Mattip om. Geometri former og figurer. Du skal lære: Kan ikke Kan næsten Kan. At finde og tegne former og figurer Mattip om Geometri former og figurer Du skal lære: At finde og tegne former og figurer Kan ikke Kan næsten Kan At beregne omkreds og areal af figurer Om forskellige typer trekanter At finde højde og grundlinje

Læs mere

UML til kravspecificering

UML til kravspecificering UML til kravspecificering UML mini-kompendium - til brug i forbindelse med modellering af kravspecifikationer. Copyright 2006 Teknologisk Institut, IT-Udvikling Aktivitetsdiagram 2/9 Aktion Aktionsnavn

Læs mere

Objektorienteret design med arv og polymorfi:

Objektorienteret design med arv og polymorfi: Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Objektorienteret design med arv og polymorfi: Substitutionsprincippet Composite Design Pattern Finn Nordbjerg Side 1 Objektorienteret

Læs mere

Designmønstre. Grundbegreber fra objektorienteret design

Designmønstre. Grundbegreber fra objektorienteret design Designmønstre Grundbegreber fra objektorienteret design Emner Modellering begrebsapparat og UML Introduktion til interfaces eksempel, interfacebegrebet, og kontraktbaseret design Design med interfaces

Læs mere

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne. Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning

Læs mere

Kompetencetræning #2 også til prøven. 31. Januar 2019

Kompetencetræning #2 også til prøven. 31. Januar 2019 Kompetencetræning #2 også til prøven 31. Januar 2019 Bordet rundt Har I prøvet noget af? Var der nogle forhindringer i at prøve noget af? Hvis du har prøvet noget af hvor var udfordringerne så for dig

Læs mere

4 Basal Objekt-orienteret Programmering I.

4 Basal Objekt-orienteret Programmering I. 4 Basal Objekt-orienteret Programmering I. Klasser i forhold til abstrakte datatyper og record-typer. Variable og operationer. Klasse-interfaces. Klasser og typer. Klasse-instantiering og initialisering.

Læs mere

Objektorientering. Programkvalitet

Objektorientering. Programkvalitet 1 PROSA-Bladet nr. 4 1993 Objektorientering = Programkvalitet? Af Finn Nordbjerg, adjunkt ved Datamatikeruddannelsen, Aalborg Handelskole 1. Indledning Objektorientering er blevet et edb-fagets mest udbredte

Læs mere

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004 Genbrugelige komponenter og designmønstre i Java Jacob Nordfalk Ingeniørhøjskolen i København Nykøbing F itvisioncenter 24. februar 2004 Program Om Jacob Nordfalk introduktion (ikke-teknisk del) Komponentbaseret

Læs mere

Geometri i plan og rum

Geometri i plan og rum INTRO I kapitlet arbejder eleverne med plane og rumlige figurers egenskaber og med deres anvendelse som geometriske modeller. I den forbindelse kommer de bl.a. til at beskæftige sig med beregninger af

Læs mere

Forelæsning Uge 3 Torsdag

Forelæsning Uge 3 Torsdag Forelæsning Uge 3 Torsdag Billedredigering (bl.a. brug af for-løkker) Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt)

Læs mere

Geometriske tegning - Fase 2 Fremstille præcise tegninger

Geometriske tegning - Fase 2 Fremstille præcise tegninger Navn: Klasse: Geometriske tegning - Fase 2 Fremstille præcise tegninger Vurdering fra 1 til 5 (hvor 5 er højst) Læringsmål Selv Lærer eviser og forslag til forbedring 1. Jeg kan tegne isometrisk tegninger

Læs mere

Trekanthøjder Figurer

Trekanthøjder Figurer Trekanthøjder D E N C B F G T I H L N S J M F K ST O T I U Q R V SK X Y 97887204290_Vaerkstedmap_Kopisider_-70.indd 24 24 /0/2 :46 M Trekanthøjder D B L F E H C G I J I L K M O R S N Y Q G Y E T U 97887204290_Vaerkstedmap_Kopisider_-70.indd

Læs mere

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet

Læs mere

Ugeseddel 4 1. marts - 8. marts

Ugeseddel 4 1. marts - 8. marts Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,

Læs mere

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

Læs mere

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

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

Læs mere

Matematik i stort format Udematematik med åbne sanser

Matematik i stort format Udematematik med åbne sanser 17-09-2010 side 1 Matematik i stort format Udematematik med åbne sanser Fredag d. 17. september kl. 11.15-12.15 Næsbylund Kro, Odense Mette Hjelmborg 17-09-2010 side 2 Plan Hvad er matematik i stort format?

Læs mere

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

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 dintprog Manual Revision: 1241 August 24, 2010 Indhold I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering 4 III Sprogkonstruktioner 5 4 Klasser

Læs mere

Objektorienteret Analyse & Design

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

Læs mere

KonteXt +5, Kernebog

KonteXt +5, Kernebog 1 KonteXt +5, Lærervejledning/Web Facit til KonteXt +5, Kernebog Kapitel 3: Vinkler og figurer Version september 2015 Facitlisten er en del af KonteXt +5; Lærervejledning/Web KonteXt +5, Kernebog Forfattere:

Læs mere

29 Opsamling af Objekt-orienteret Programmering.

29 Opsamling af Objekt-orienteret Programmering. 29 Opsamling af Objekt-orienteret Programmering. Bottom-up kontra top-down design. "The shopping list approach". Hvordan finder man på objekterne. Klasser og dataabstraktion. Klasse interface og interface-teknikker.

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 6 Komponenter (og lidt Swing og MVC) Læsning: VP 4, evt. VP 6 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Grafiske komponenter

Læs mere

Design af genbrugeligt objektorienteret software

Design af genbrugeligt objektorienteret software Velkommen Design af genbrugeligt objektorienteret software Evaluering af software ved hjælp af statiske mål. 24 februar 2004 Specialeforsvar af: Søren Gaardbo Jensen Design af genbrugeligt objektorienteret

Læs mere

Bjørn Grøn. Euklids konstruktion af femkanten

Bjørn Grøn. Euklids konstruktion af femkanten Bjørn Grøn Euklids konstruktion af femkanten Euklids konstruktion af femkanten Side af 17 Euklids konstruktion af femkanten Et uddrag af sætninger fra Euklids Elementer, der fører frem til konstruktionen

Læs mere

Klasser og objekter. (Afsnit i manualen)

Klasser og objekter. (Afsnit i manualen) Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser

Læs mere

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ DM502 Peter Schneider-Kamp (petersk@imada.sdu.dk) 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!

Læs mere

Den sproglige vending i filosofien

Den sproglige vending i filosofien ge til forståelsen af de begreber, med hvilke man udtrykte og talte om denne viden. Det blev kimen til en afgørende ændring af forståelsen af forholdet mellem empirisk videnskab og filosofisk refleksion,

Læs mere

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion Polymorfi Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type Coercion Tvangskonvertering (forfremmelse og begrænsning) Oversigt Abstrakt klasse abstrakt

Læs mere

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002 Databaser, efterår 2002 ER-modellen Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Læs mere

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1. Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:

Læs mere

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

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

Læs mere

Lær Python - Dag 4, modul 2 Objektorienteret programmering

Lær Python - Dag 4, modul 2 Objektorienteret programmering Lær Python - Dag 4, modul 2 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Metoder Metoder Indtil videre har vi kun brugt objekter til at gemme værdier.

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave

Læs mere

Undersøgelser af trekanter

Undersøgelser af trekanter En rød tråd igennem kapitlet er en søgen efter svar på spørgsmålet: Hvordan kan vi beregne os frem til længder, vi ikke kan komme til at måle?. Hvordan kan vi fx beregne højden på et træ eller et hus,

Læs mere

På opdagelse i GeoGebra

På opdagelse i GeoGebra På opdagelse i GeoGebra Trekanter: 1. Start med at åbne programmet på din computer. Du skal sørge for at gitteret i koordinatsystem er sat til. Dette gør vi ved at trykke på Vis oppe i venstre hjørne og

Læs mere

Matematik med LEGO WeDo 4.-6. klasse. Lærervejledning Symmetri og drejning. Formål: Aktivitet

Matematik med LEGO WeDo 4.-6. klasse. Lærervejledning Symmetri og drejning. Formål: Aktivitet Lærervejledning Symmetri og drejning Eleverne skal bygge karusseller efter et billede. De skal sammenligne en symmetrisk og en asymmetrisk karrusel opfører sig nå der drejer rundt. De skal afgøre om nogle

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6 DM502 Forelæsning 6 Klasser og objekter Introduktion Math-klassen Indhold Klasser vs. objekter Først et tænkt eksempel: Vi vil lave en bil i Java 1. spørgsmål: Hvad karakteriserer en bil? Model År Farve...

Læs mere

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

Læs mere

matematik grundbog basis preben bernitt

matematik grundbog basis preben bernitt 33 matematik grundbog basis preben bernitt 1 matematik grundbog basis ISBN: 978-87-92488-27-5 2. udgave som E-bog 2010 by bernitt-matematik.dk Kopiering af denne bog er kun tilladt efter aftale med bernitt-matematik.dk

Læs mere

class subklasse-navn extends superklasse-navn { } NorwaySpruce har superklassen Spruce, som igen har superklassen Tree.

class subklasse-navn extends superklasse-navn { } NorwaySpruce har superklassen Spruce, som igen har superklassen Tree. Programmering 1999 Forelæsning 11, tirsdag 5. oktober 1999 Oversigt Klasse-hierarkier: superklasser og subklasser Nedarvning Polymorfi Programmering 1999 KVL Side 11-1 Hierarkier En klasse repræsenterer

Læs mere

Tree klassen fra sidste forelæsning

Tree klassen fra sidste forelæsning Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years

Læs mere

Greenfoot En kort introduktion til Programmering og Objekt-Orientering

Greenfoot En kort introduktion til Programmering og Objekt-Orientering Greenfoot En kort introduktion til Programmering og Objekt-Orientering Greenfoot er et computer-program, som kan benyttes til at skrive andre computer-programmer, i et programmeringssprog kaldet Java.

Læs mere

Errata pr. 1. sept Rettelser til Ypsilon 1. udgave, 1. oplag

Errata pr. 1. sept Rettelser til Ypsilon 1. udgave, 1. oplag Errata pr. 1. sept. 2009 Rettelser til Ypsilon 1. udgave, 1. oplag Rettelserne herunder er foretaget i 2. oplag af bogen. Desuden forekommer der mindre rettelser i 2. oplag, som ikke er medtaget her, da

Læs mere

Hvordan organiseres et programs grafik-elementer? OOP e uge kursusgang. Advarsel! Component-objekter

Hvordan organiseres et programs grafik-elementer? OOP e uge kursusgang. Advarsel! Component-objekter OOP e2002 - uge 42 6. kursusgang Hvordan organiseres et programs grafik-elementer? 1. Teori: class Component og subklasser: Composite pattern layout-managere hændelsesstyret programmering 2. XP-program:

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

Læs mere

Løsningsforslag til Camp Let. Case Beskrivelse: Camp Let

Løsningsforslag til Camp Let. Case Beskrivelse: Camp Let Løsningsforslag til Camp Let Case Beskrivelse: Camp Let Firmaet Camp Let har til formål at udleje forskellige typer transportable ferieboliger. Det drejer sig i øjeblikket om campingbusser, campingvogne,

Læs mere

Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser.

Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser. 10 Nedarvning I. Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Dynamisk binding og virtuelle operationer. Decentraliseret/centraliseret

Læs mere

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

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

Læs mere

Udgangspunktet for designet er informationer fra analysen, samt nedenstående justerede tilstandsdiagrammer: Station. nedlagt H. Købt (dato) nedlagt

Udgangspunktet for designet er informationer fra analysen, samt nedenstående justerede tilstandsdiagrammer: Station. nedlagt H. Købt (dato) nedlagt Kajs er OOD Side af 6 Udgangspunktet for designet er informationer fra analysen, samt nedenstående justerede tilstandsdiagrammer: aktivitet Aktiv Købt aktivitet Aktiv Afhændet Flytning planlagt Flytning

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:

Læs mere

Lær Python - Dag 4, modul 1 Objektorienteret programmering

Lær Python - Dag 4, modul 1 Objektorienteret programmering Lær Python - Dag 4, modul 1 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Objektorienteret programmering Hvad er objektorienteret programmering? Vi

Læs mere

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

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

Læs mere

Lektion 3. Grundlæggende programmering i VR

Lektion 3. Grundlæggende programmering i VR Lektion 3 Grundlæggende programmering i VR Plan for i dag UML Usecase diagrammer Aktivitets diagrammer Klasse diagrammer Udforskning af forskelligt VR og andre måder at udvide virkeligheden på Cardboard

Læs mere

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004 Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),

Læs mere

Fundamentale sprogbegreber

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,

Læs mere

Metodehåndbog. Begrebsmodeller, Informationsmodeller og Begrebsdefinitioner. Udarbejdet i fællesskab mellem Udbetaling Danmark/KL/KOMBIT

Metodehåndbog. Begrebsmodeller, Informationsmodeller og Begrebsdefinitioner. Udarbejdet i fællesskab mellem Udbetaling Danmark/KL/KOMBIT Metodehåndbog Begrebsmodeller, Informationsmodeller og Begrebsdefinitioner Udarbejdet i fællesskab mellem Udbetaling Danmark/KL/KOMBIT Indhold Introduktion... 2 Begrebsmodeller, informationsmodeller og

Læs mere

MAS Trappe Robot. Programmering af Robotter og andre Fysiske Enheder University of Southern Denmark

MAS Trappe Robot. Programmering af Robotter og andre Fysiske Enheder University of Southern Denmark MAS Trappe Robot Programmering af Robotter og andre Fysiske Enheder Anders Jensen (Andej12@student.sdu.dk) Rasmus Jensen (Raje212@student.sdu.dk) Jacob Lohse Hansen (Jacoh12@student.sdu.dk) Julia Højgaard

Læs mere

Objektorienteret Programmering

Objektorienteret Programmering Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:

Læs mere

Objektorienteret programmering!

Objektorienteret programmering! Objektorienteret programmering! Introduktion! Plan!! Generelt om programmeludvikling!! Objekter og klasser (begreber)!! Objektorienteret programmeludvikling!! Programmering i Java! 1! 2! Aforisme! Programmeludvikling!

Læs mere

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22. Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens

Læs mere

************************************************************************

************************************************************************ Projektet er todelt: Første del har fokus på Euklids system og består af introduktionen, samt I og II. Anden del har fokus på Hilberts system fra omkring år 1900 og består af III sammen med bilagene. Man

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Mødet. 6 Geometri. Begreb Eksempel Navn. Parallel. Vinkelret. Linjestykke. Polygon. Cirkelperiferi. Midtpunkt. Linje. Diagonal. Radius.

Mødet. 6 Geometri. Begreb Eksempel Navn. Parallel. Vinkelret. Linjestykke. Polygon. Cirkelperiferi. Midtpunkt. Linje. Diagonal. Radius. 6.01 Mødet Begreb Eksempel Navn Parallel Vinkelret Linjestykke Polygon Cirkelperiferi Midtpunkt Linje Diagonal Radius Ret vinkel 6.02 Fire på stribe Regler Hver spiller får en spilleplade (6.03). Alle

Læs mere

Videregående Programmering for Diplom-E Noter

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å

Læs mere

CS CHALLENGE MICHAEL I. SCHWARTZBACH MARTIN TOLDAM TORP INSTITUT FOR DATALOGI CS.AU.DK/CHALLENGE AARHUS UNIVERSITET

CS CHALLENGE MICHAEL I. SCHWARTZBACH MARTIN TOLDAM TORP INSTITUT FOR DATALOGI CS.AU.DK/CHALLENGE AARHUS UNIVERSITET CS CHALLENGE MICHAEL I. SCHWARTZBACH MARTIN TOLDAM TORP INSTITUT FOR DATALOGI CS..DK/CHALLENGE VI ELSKER PROGRAMMERING Michael er professor ved Institut for Datalogi Han har programmeret siden han var

Læs mere

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11 DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void

Læs mere

Det Digitale Fundament. Digitalisering af byggeriet resultater og eksempler ved Gunnar Friborg, bips til årsmøde i Lean Construction DK 2007-03-30

Det Digitale Fundament. Digitalisering af byggeriet resultater og eksempler ved Gunnar Friborg, bips til årsmøde i Lean Construction DK 2007-03-30 Det Digitale Fundament Digitalisering af byggeriet resultater og eksempler ved Gunnar Friborg, bips til årsmøde i Lean Construction DK 2007-03-30 Det Digitale Byggeri de færdige resultater efter 3 år De

Læs mere

Forelæsning Uge 3 Mandag

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

Læs mere

FFM Matematik pop-up eftermiddag. CFU, UCC 11. Maj 2015

FFM Matematik pop-up eftermiddag. CFU, UCC 11. Maj 2015 FFM Matematik pop-up eftermiddag CFU, UCC 11. Maj 2015 Formål Deltagerne har: Kendskab til Forenklede Fælles Måls opbygning Kendskab til tankegangen bag den målstyrede undervisning i FFM Kendskab til læringsmål

Læs mere

SWC Elementer i klassedefinition

SWC Elementer i klassedefinition SWC Elementer i klassedefinition Indhold Eksempel... 2 Karakteristika for en klasse... 3 Karakteristika for et instance field... 4 Karakteristika for en constructor... 5 Karakteristika for en property...

Læs mere

Dynamiske konstruktioner med et dynamisk geometriprogram En øvelsessamling

Dynamiske konstruktioner med et dynamisk geometriprogram En øvelsessamling Dynamiske konstruktioner med et dynamisk geometriprogram En øvelsessamling Disse opgaver er i sin tid udarbejdet til programmerne Geometer, og Geometrix. I dag er GeoGebra (af mange gode grunde, som jeg

Læs mere

Forskelle på begrebsmodellering og datamodellering

Forskelle på begrebsmodellering og datamodellering Forskelle på begrebsmodellering og datamodellering Bodil Nistrup Madsen bnm.danterm@cbs.dk DANTERMcentret www.danterm.dk Problemstilling Udviklere af it-systemer springer ofte begrebsmodelleringen over

Læs mere

geometri trin 2 brikkerne til regning & matematik preben bernitt

geometri trin 2 brikkerne til regning & matematik preben bernitt brikkerne til regning & matematik geometri trin 2 preben bernitt brikkerne til regning & matematik geometri, trin 2 ISBN: 978-87-92488-16-9 1. Udgave som E-bog 2003 by bernitt-matematik.dk Kopiering er

Læs mere

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering Skriftlig eksamen i Grundlæggende Programmering ITU, 20. januar 2000 Alle hjælpemidler tilladt, dog ikke datamat. Eksamen er skriftlig, fire timer, og bedømmes efter 13-skalaen. Opgavesættet består af

Læs mere

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

dintprog Manual Revision: 731 September 30, 2009 1 Introduktion 3 1.1 Notation... 3 I Begreber 4 2 Grundbegreber om programmering 4 dintprog Manual Revision: 731 September 30, 2009 Indhold 1 Introduktion 3 1.1 Notation................................. 3 I Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering

Læs mere

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002 Databaser, efterår 2002 Databasesystemer Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Læs mere

Eksempel: et ordresystem note 5 Lagdeling s. 1

Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar

Læs mere

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

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

Læs mere

Opgaver hørende til undervisningsmateriale om Herons formel

Opgaver hørende til undervisningsmateriale om Herons formel Opgaver hørende til undervisningsmateriale om Herons formel 20. juni 2016 I Herons formel (Danielsen og Sørensen, 2016) er stillet en række opgaver, som her gengives. Referencer Danielsen, Kristian og

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag ArrayList klassen Gør det let at lave en objektsamling (collection) med et variabelt antal elementer Der er mange andre slags objektsamlinger (se Collection interfacet i JavaDoc)

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet

Læs mere