OOP e uge kursusgang: Grafik (II) class Scribble (Tegnebrættet) Frihåndstegning: repræsentation

Størrelse: px
Starte visningen fra side:

Download "OOP e uge kursusgang: Grafik (II) class Scribble (Tegnebrættet) Frihåndstegning: repræsentation"

Transkript

1 OOP e uge 43 class Scribble (Tegnebrættet) Det simplest mulige tegnebræt kun en funktion: tegn streger med musen ingen kontrolknapper/valgmuligheder skal dog kunne "holde til" at ændre størrelse Frihåndstegning: Tegnebrættet har ikke objekter der repræsenterer de streger etc., der er tegnet canvas GUI designes som bestående alene af et canvas Det tegnede ligger kun repræsenteret som pixels i et Image-objekt. Modsat boldappletten, hvor boldene er repræsenteret med x/ykoordinater etc. (evt. som selvstændige objekter) Xiaoping implementerer iteration ved tilføjelser, herunder subklasning. Bogen bliver lettere at læse Den samlede kode bliver sværere at læse, da den indeholder overflødige dele.

2 Det primære objekt er en grafik-"dobbelt"-buffer Skabelse af buffer Objekterne: grafik-bufferen og dens hjælper: class ScribbleCanvas extends JComponent { Graphics offscreengraphics; // Rummer platformsafh. data/metoder Image offscreenimage; // De rå data i platformsuafh. format Tegning i bufferen (når brugeren giver tegne-input) scribblecanvas.offscreengraphics.drawline(..); Visning af bufferen på skærmen: scribblecanvas.repaint();.. update(graphics g) { g.drawimage(offscreenimage,..); // bufferen vises via hjælperen setbounds(int x, int y, int width, int height) { // kaldes af kontekst når canvas bliver synlig offscreenimage = creageimage(width, height); offscreengraphics = createimage.getgraphics();.. Graphics/Image: For at skabe et ny Graphics-objekt, skal vi først skabe et Image-objekt Metoder til at tegne opererer på Graphics-objektet (f.eks. drawline), men opdaterer automatisk det Image-objekt, der er brugt til at skabe det! OOP e uge 43 Skabelse af canvas ved at nedarve fra (J)Component?? class ScribbleCanvas extends JComponent {.. eller uden : class ScribbleCanvas extends Component {..

3 OOP e uge 43 Hændelser der kan opfange brug af "pen" Brug af pen udløser: hændelse = brugerens tegne-bevægelser handling = programmet tegner på brættet Vores musehændelse: museknappen trykkes ned, musen bevæges mens knappen holdes nede, til sidst slippes knappen igen Alle former for musebevægelser, ikke kun lige streger. Men tegn kun streg hvis musen er inde over brættet når knappen trykkes ned (og pen er valgt) Hændelsesstyret programmering - hvilken hændelse? Fremgangsmåde ved implementation af penværktøj Hændelseskilde Hændelse Lytter Vi skal Hændelser repræsenteres af et hændelsesobjekt indeholder hændelsens kilde og helst mange flere oplysninger Handlinger repræsenteres af lyttere (listeners): klasser hvis metoder skal udføres Konteksten lytter til. For at konteksten kan aktivere en lytter i tilfælde af en hændelse, skal lytteren registreres hos hændelseskilden. 1. finde en eller flere passende (dvs. subklasse(r) af class AWTEvent) og 2. implementere værktøjet som en lytter (en klasse, der implementerer et/flere Listener-interfaces) der kan modtage ne.

4 Implementation af penværktøj (ideelt) Hændelses-klasse: class MouseDraggedEvent Lytter-interface: interface MouseDraggedListener { public void MouseDragged(MouseDraggedEvent e); hvor et MouseDraggedEvent-objekt indeholder alle punkter, musen har bevæget sig henover, mens museknappen har været holdt nede. Findes desværre ikke! class java.awt.event.mouseevent Kan repræsentere følgende simple og sammensatte muse: pressed: museknap trykket released:.. sluppet clicked: trykket + sluppet entered: musen er kommet ind over komponenten exited:.. væk.. moved: mus bevæget dragged: mus bevæget med knap holdt nede Indeholdt information: hvilke(n) af ovenstående er indtryffet 1 sæt koordinater (x,y): her foregik (sluttede) hændelsen Opgave: hvordan kan disse kombineres til den hændelse, vi har defineret skal repræsentere en streg? OBS: Hændelser genereres med visse mellemrum (brøkdele af et sekund) Løsning: mouse pressed + dragged + dragged.. mouse pressed ("her") mouse dragged ("hertil") linjestykker der tegnes på tegnebrættet musens virkelige bevægelser Lyttere, som kan modtage et java.awt.event.mouseevent Der findes to "musehændelses-lyttere". De modtager hver sin type af muse-: De "statiske" : interface MouseListener{ mousepressed(mouseevent e);.. De "dynamiske" : interface MouseMotionListener{ mousedragged(mouseevent e);..

5 Pen implementeret som lytter (frit efter XP s323 f) class PenTool implements MouseListener, MouseMotionListener { Point mouse; // musens "gamle" position mousepressed(mouseevent e) { mouse = e.getpoint(); mousedragged(mouseevent e) { Point p = e.getpoint(); tegn_streg_fra_mus_til_p(); mouse = p; canvas.repaint();.. plus tomme definitioner af resten af lytter-metoderne Ikke nødvendigt at "spørge" et MouseEvent-objekt hvilken slags hændelse, det repræsenterer, da dette fremgår af den kaldte lytter-metode. Men nødvendigt at registrere PenTool-objekt som Mouse- og MouseMotion-lytter OOP e uge 43 Grafik-opdatering: modificer så lidt som muligt repaint() --> update(), paint() Når konsteksten kalder update() efter applikations-genereret repaint(): mousedragged(mouseevent e) { Point p = e.getpoint(); tegn_streg_fra_mus_til_p(); mouse = p; canvas.repaint(<kun den del der er blevet ændret>); CPU-kraften må ikke spildes til at gentage den del af kanvas, der ikke har ændret sig. Ellers bliver reaktionstiden på musebevægelser langsommere. repaint(x, y, width, height) kan bruges uden man behøver lave en særlig definition af update()/paint() 0. Muligvis ventes der lidt først. 1. Graphics g = det nuværende billede (det sidst tegnede); 2. kald af update(g); // altid hele g! (svarende til components størr.) 3. tegn(g); // repaint(<rect>) => tegn(g,<rect>) Container superklasse opfanger kald af update() hvis ikke overskrivet i subklasser: public void update(grahpics g) { g.setcolor(getbackground()); // vælger baggrundsfarven g.clearrect(0, 0, width, height); // udfylder g med farven g.setcolor(getforeground()); // vælger forgrundsfarven paint(g); public void paint(graphics g) { {stort set tom definition {man kan kalde paint() i alle subkomponenter

6 OOP e uge 43 Skabelse/ af buffer (XP s 232) Større canvas => nødvendigt med større buffer til at repræsentere tegningerne. Vi vil gerne overføre eksisterende tegning til ny større canvas Der findes ikke en metode til at lægge pixels til i yderområdet. Løsning: overskrivning af setbounds() (XP s. 323) setbounds(int x, int y, int width, int height) { // kaldes også når kanvas ændrer størrelse (system- eller appl.-udløst).. Image resizedimage = creageimage(width, height); // midlertidigt Image offscreengraphics = resizedimage.getgraphics(); clearcanvas(); if (offscreenimage!= null) // overfør "gamle" tegning til buffer offscreengraphics.drawimage(offscreenimage,..); offscreenimage = resizedimage; // Image-objektet opdateres super.setbounds(..); // repaint(); Graphics/Image: den gamle tegning af lagret i offscreenimage den "resizede" tegning er lagret i newimage derfra overføres den til sidst til offscreenimage OOP e uge 43

7 Kombineret En applet kan køres som applikation, hvis appletten udvides til at definere en main()-metode main() opretter et yderste vindue som applettens panel kan anbringes i init() og andre metoder, der kaldes automatisk af appletkonteksten, skal kaldes eksplicit, hvis de er re-defineret i appletten. public class Scribble extends JApplet { init();... start();.. stop();.. ; public static void main(string[] args) { (a) skab yderste vindue med passende titel (b) skab Scribble-objekt (c) anbring Scribble-objekt (et panel) i vinduet To Scribble-konstruktorer: Applet: konteksten kalder Scribble() Applikation: vi kalder Scribble(..) som eksplicit kalder init() m.m. main() i applet public static void main(string[] args) { // (a) Det yderste vindue JFrame frame = new JFrame(); frame.settitle("scribble Pad"); frame.addwindowlistener(..); // registrer en lytter til at reagere på "sluk" // (b) Skabelse af nyt Scribble-panel i vinduet Scribble scribble = new Scribble(false); // (c) Anbringelse af Scribble-panel i vinduet frame.getcontentpane().setlayout(new BorderLayout()); // JComponent.getContentPane() // giver reference til JRootPane-objekt // som kan bruges til "Container-opgaver" frame.getcontentpane().add(scribble, BorderLayout.CENTER); // plus div. detaljer frame.setsize(..);..; OOP e uge 43 java.awt contra javax. javax. indeholder JButton, JFrame,.. med funktion svarende til Button, Frame,.. Features mange med nye features, f.eks. ikoner og ledetekst i knapper. man kan vælge at bruge indbygget dobbelt-bufring hurtigere? pænere? nye typer grafik-komponenter bl.a. JScrollBar nye typer events (og events-lyttere) Implementation "Letvægtskomponenter" forstået som at de er alene repræsenteret internt i Java og har lavniveaugrænseflade til platform modsat "sværvægtskomponenter" som har en "peer" komponent implementeret vhja. platformens højniveau-grafik-faciliteter ikke en erstatning af java.awt men en udvidelse JButton m.fl. nedarver fra java.awt.component overgang til at bruge javax. kan ske skridtvis

8 OOP e uge 43 WEST : Specifikation af krav til GUI: Bjælker med knapper ude langs siden af selve brættet Et bjælke til valg af "værktøj" (pen, viskelæder,..) Et bjælke til generelle/tværgående valg (farve, slet alt,..) SYD CENTER BorderLayout bruges til inddeling af panel CENTER et canvas til brættet WEST container til knapper SYD container til knapper Håndtering af class EraserTool implements MouseListener,.. { // minder om PenTool // skriver små hvide rektangler i stedet for streger Det primære problem er at skifte mellem forskellige værktøjer. 1) Man kan af-registrere den gamle lytter og registrere den nye. (Besværligt). 2) Man kan registrere en super-lytter, som fanger alle, og giver den videre til det aktuelle værktøj. Nemt løbende at ændre ToolListener-en. Bruger "State" design pattern. Kilde: canvassen Muse- Hændelse ToolListener (XP p 338) Muse- Hændelse Værktøj 1 Værktøj 2 OOP e uge 43

9 Xiaopings BouncingBall3 (s. 282f) (sidste iteration!) Animerings- og dobbeltbufrings-funktionalitet genbruges fra class Animator og class DoubleBufferHandler Der er tale om genbrug af funktionalitet ved delegering ikke som tidligere ved nedarvning (f.eks. BouncingBall2 s. 193) Før: nedarvning AnimationApplet tager sig af alt vedr. animering (dog ikke dobbelt-bufring) Oprettelse af en separat tråd, kald af sleep()/repaint() fra trådens run(), m.m. Subklasser skal blot definere paint() samt evt. justere delay. DBAnimationApplet har sin egen final update(), der kalder paintframe(), der er en abstrakt metode. Nu: delegering Fordelen delegering af animeringsfunktionalitet Generelt er fordelen ved delegering fremfor nedarvning: bruger-klassen kan nedarve fra andre klasser I tilfældet med Applet-animering er dette ikke relevant, da AnimationApplet i forvejen nedarver fra den klasse, vi vil nedarve fra (class Applet) Her drejer fordelen sig om: I BouncingBall ønsker vi ikke at animere/dobbeltbufre hele Appletten/panelet, kun canvas-et med boldene Hvilke fordele kan der være herved? Det ville være muligt at lave en class AnimationCanvas, der nedarver fra class Canvas, men løsningen med class Animator er mere generel

10 FinalBouncingBall med delegering af animering + dobbeltbufring (XP s. 282) DBHandler (XP s. 280) class DBHandler { DBHandler (DBComponent comp) { this.comp = comp; DBComponent comp; void update(graphics g) { comp.paintframe(offscreengraphics); {overfør offscreengraphics til g; Graphics offscreengraphics; BouncingBallCanvas (XP s. 281) class BouncingBallCanvas { void update(graphics g) { dbhandler.update(g); void paint(graphics g) { update(g); // hvorfor? DBHandler dbhandler; update() vs. paint(): hvilke(n) skal overskrives i Applet-subklasser? Hvis subklasser overskriver update(): skal de selv sørge for at gentegne hele baggrunden men så slipper de for at vente på at appletkonteksten gentegner baggrunden. Hvis man bruger dobbelt-bufring: bør man overskrive update() fordi man alligevel selv skal tegne baggrunden (da man jo ikke tegner i det grafikobjekt der er skabt i konteksten, men tværtimod overskriver det med ens egen "buffer") Definitionen af paint() skal fange "usædvanlige" kald af paint() fra konteksten, der sker uden om update().

11 OOP e uge 43 Anonyme klasser Bruges ofte til definition af lytter-klasser, hvor man kun skal bruge en instans, og ikke skal referere til instansen. En anonym klasse er en form for indre klasse. En indre klasse er en klasse defineret i en anden klasses indre. Definitionen af en anonym klasse er et udtryk, hvis værdi er en instans af den anonyme klasse. I stedet for - class StartStopHandler implements ActionListener {.. ActionListener handler = new StartStopHandler(); addactionlistener(handler); kan man skrive - addactionlistener(new ActionListener() {..);

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

OOP e uge kursusgang. Disposition for (gennemgang af) afleveringsopgave. Deck.shuffle() 'Problemformulering', Indledning

OOP e uge kursusgang. Disposition for (gennemgang af) afleveringsopgave. Deck.shuffle() 'Problemformulering', Indledning OOP e2002 - uge 40 Disposition for (gennemgang af) afleveringsopgave IV. Teori B: Designmønstre. V. Tips til øvelser: Bold-appletten, dobbeltbufring. 1. Problemformulering 2. Design for at forklare designet

Læs mere

et enkelt kontrol flow sætningerne i programmet afvikles en ad gangen flowet følger dels den tekstlige rækkefølge

et enkelt kontrol flow sætningerne i programmet afvikles en ad gangen flowet følger dels den tekstlige rækkefølge Tråd-definition 2. XP-program: Dissektion af boldapplet (fortsat) En tråd er en separat programudførelse = separat "flow of control" = rækkefølge af programinstruktioner, der udføres En tråd kan mere konkret

Læs mere

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Kursusgang 11 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Design af brugerflader 11.1 Samme sted Forskellige steder Sidste kursusgang Samtidigt

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

Kursusgang 12. Oversigt: Sidste kursusgang Layout-manager Event-håndtering. Design af brugerflader 12.1

Kursusgang 12. Oversigt: Sidste kursusgang Layout-manager Event-håndtering. Design af brugerflader 12.1 Kursusgang 12 Oversigt: Sidste kursusgang Layout-manager Event-håndtering Design af brugerflader 12.1 Sidste kursusgang Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design

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

import java.awt.event.*; import java.awt.*; Container <- Panel <- Applet Component <- Button <- Checkbox <- ScrollPane <- Label

import java.awt.event.*; import java.awt.*; Container <- Panel <- Applet Component <- Button <- Checkbox <- ScrollPane <- Label Programmering 1999 Forelæsning 13, tirsdag 12. oktober 1999 Oversigt Grafiske brugergrænseflader. Komponenter: Knapper, tekstfelter, checkbokse... Vinduer (containere). Hændelser, hændelsesstyret programmering.

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

Singleton pattern i Java

Singleton pattern i Java Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.

Læs mere

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Kursusnavn: Programmering. Tilladte hjælpemidler: Alle skriftlige hjælpemidler Opgavesættet består af fire opgaver, der har følgende vægtning: Opgave

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

Over Forelæsning omponenter ogrammering sigt 14, 1999 freda containere 15. oktober 1999 Eksempel: out GUI til beregning fakultet.

Over Forelæsning omponenter ogrammering sigt 14, 1999 freda containere 15. oktober 1999 Eksempel: out GUI til beregning fakultet. Programmering 1999 Forelæsning 14, fredag 15. oktober 1999 Oversigt Repetition: GUI komponenter og containere. Layout af grafiske brugergrænseflader i Java. Større layout-opgave. Programmering 1999 KVL

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

OOP e uge kursusgang: Samtidighed (II) Safety = sikkerhed. Safety

OOP e uge kursusgang: Samtidighed (II) Safety = sikkerhed. Safety = sikkerhed I denne sammenhæng: = "trådsikkerhed" " conditions.. stipulate that nothing bad will ever happen" (XP s. 377) Trådsikkerhed betyder sikkerhed mod inkonsistens pga. flertrådning ikke f.eks.

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 7 Swing og MVC Swing: MVC, Datamodeller, JTable, evt. JTree Evt.: Swing: Præsentations og kontroldel Læsning: VP 6 Dette materiale er under Åben Dokumentlicens, se

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

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter

Læs mere

Serialization i Java

Serialization i Java Serialization i Java Tutorial lavet af Jákup W. Hansen TSU 2006 1.semester 06.novemter 2006 Hvad er Serialization? I vores tekstbog Objects First with Java bliver denne del af Java ikke gennemgået. Men

Læs mere

1. Flyreservationssystem. OOP e uge 37 - første kursusgang. OO-paradigmet jf. XP s. 10f

1. Flyreservationssystem. OOP e uge 37 - første kursusgang. OO-paradigmet jf. XP s. 10f OOP e2002 - uge 37 - første kursusgang OO-paradigmet jf. XP s. 10f 1. Flyreservations-system, jf. opgave 1 (dvs. Xiaoping 1.1) modellering og design vhja. grafisk designværktøj klassestruktur, brug af

Læs mere

Hvad er Objekter - Programmering

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

Læs mere

Forelæsning Uge 13 Torsdag

Forelæsning Uge 13 Torsdag Forelæsning Uge 13 Torsdag Konstruktion af grafiske brugergrænseflader (GUI'er) Definition af de elementer, der vises på skærmen (vinduer, knapper, menuer, scrollbarer, tekster, osv.) Hvordan reagerer

Læs mere

Kapitel 6 Events i C#

Kapitel 6 Events i C# Kapitel 6 i C# Når vi snakker programmering er en Event når der aktiveres specielt indbygget kode. Der sker en hændelse (event). Man siger at eventet bliver udført. De events vi skal gennemgå i dette kapitel

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

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

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 5 Model View Controller arkitekturen Model View Controller arkitekturen (MVC) Evt.: Rekursion Læsning: VP 19 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

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

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

DANMARKS TEKNISKE UNIVERSITET

DANMARKS TEKNISKE UNIVERSITET DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler

Læs mere

Forelæsning Uge 13 Mandag

Forelæsning Uge 13 Mandag Forelæsning Uge 13 Mandag Konstruktion af grafiske brugergrænseflader (GUI'er) Definition af de elementer, der vises på skærmen (vinduer, knapper, menuer, scrollbarer, tekster, osv.) Hvordan reagerer de

Læs mere

Java Klasse nedarvninger

Java Klasse nedarvninger Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering

Læs mere

Lektion 6. Grundlæggende programmering i VR

Lektion 6. Grundlæggende programmering i VR Lektion 6 Grundlæggende programmering i VR Plan for i dag Simpelt FPS Triggerzones og animationer C# og objekt orienteret programmering Interfaces Generics Google Cardboard Video om VRs fremtid App til

Læs mere

Martin Geisler. Uge 49, 2001

Martin Geisler. Uge 49, 2001 Min dintprog-browser Martin Geisler Uge 49, 2001 Resumé Dette dokument beskriver tankerne bag min dintprog-browser, en browser skrevet i Java der skal kunne fortolke en mindre delmængde af HTML 4, kaldet

Læs mere

Introduktion til ActionScript, fortsat

Introduktion til ActionScript, fortsat Introduktion til ActionScript, fortsat Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling

Læs mere

Lav din egen forside i webtrees

Lav din egen forside i webtrees Lav din egen forside i webtrees Du behøver ikke at kunne kode eller gøre noget advanceret for at designe din helt egen forside i webtrees. Alt du skal gøre er bare at gøre brug af den indbygget editor.

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

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Forelæsning Uge 6 Mandag

Forelæsning Uge 6 Mandag Forelæsning Uge 6 Mandag Tingene i denne forelæsning er ikke eksamenspensum Forelæsningen afrunder kurset, og forklarer nogle af de begreber, som I har mødt under kurset uden at få detaljeret forklaring

Læs mere

5 ARBEJDE MED EDITOREN

5 ARBEJDE MED EDITOREN 5 ARBEJDE MED EDITOREN Editor (eller Rich Tekst Editor) er et indbygget indholdsredigerings værktøj, hvor man uden nogen kendskab til HTML kodning kan skrive tekst, indsætte billeder, videoer og links.

Læs mere

Singleton pattern i C#

Singleton pattern i C# Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i C# Denne artikel beskriver Singleton pattern og implementation i C#. Den forudsætter kendskab til C# men ikke til Singleton. Der er

Læs mere

import java.applet.applet; import java.awt.*; public class MinApplet extends Applet { // diverse metoder her - til grafik er det nok med "paint":

import java.applet.applet; import java.awt.*; public class MinApplet extends Applet { // diverse metoder her - til grafik er det nok med paint: Noget at tegne på: Appletter. En applet (et småprogram ) er et java-program der er beregnet til at køre i et vindue på en web-side. Programmering 1999 Forelæsning 10, fredag 1. oktober 1999 Oversigt Appletter

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

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

Vejledning til Photofiltre nr. 105 Side 1

Vejledning til Photofiltre nr. 105 Side 1 Side 1 Denne vejledning er et smalt grafikbillede man kan bruge i toppen af en mail lavet i PhotoFiltre 7 hvor man nu kan arbejde i lag. Med PhotoFiltre 7 er det nu endnu nemmere at sammensætte grafik

Læs mere

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation). Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer

Læs mere

Illustrator CC F u F ture tur Co C mpany an - y www. w future tur co c mpany an. y dk

Illustrator CC F u F ture tur Co C mpany an - y www. w future tur co c mpany an. y dk FutureCompany - www.futurecompany.dk Illustrator CC Tegning med Pen Tool Side 2 af 2 Kombinationspunkter Med hjørnepunkter laver man et skarpt knæk på en kurve bestående af rette linjer. Med buepunkter

Læs mere

Udskriv kort. Før udskrivning af et kort kan du eventuelt vælge at indtegne et/flere udskriftsområder. (I PLUS versionen kun ét).

Udskriv kort. Før udskrivning af et kort kan du eventuelt vælge at indtegne et/flere udskriftsområder. (I PLUS versionen kun ét). . Generelt Ved udskrivning af kort kan du vælge at udskrive det der er vist på skærmen. Du kan også vælge at udskrive et eller flere kortudsnit. Før du udskriver, vil programmet altid åbne en dialog, som

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

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

Få det bedste fra Windows 10

Få det bedste fra Windows 10 PRØV TO NYE, FANTASTISKE FUNKTIONER: Få det bedste fra Windows 0 Windows 0 byder på en perlerække af nye og spændende funktioner. Vi har fundet to smarte programmer, der giver dig en forsmag på det nye

Læs mere

Tag smarte skærmskud

Tag smarte skærmskud Tag smarte skærmskud Hvis du vil vise din kammerat en detalje fra din pc-skærm, er programmet Jing uden sammenligning det bedste værktøj til formålet. Her viser journalist Steffen Slumstrup Nielsen dig,

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

5. Teknisk beskrivelse af programmet 5.1 Programmets primære strukturer Datastruktur 1-6 3-6 Datastruktur

5. Teknisk beskrivelse af programmet 5.1 Programmets primære strukturer Datastruktur 1-6 3-6 Datastruktur 5. Teknisk beskrivelse af programmet Afsnittet indeholder en beskrivelse af de vigtigste klasser i programmet. (Den tekniske beskrivelse af databasen er givet i afsnit 3.3 Databasedesign på side 20.) Dette

Læs mere

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation Plan 12.3. Oversigt over grundlæggende begreber Java: eksempel på applikation, programmering og oversættelse Uddybning af grundlæggende begreber Java RMI implementation Forklaring af øvelsen Hvad er et

Læs mere

Aftenskole i programmering sæson Registrering af tid. Sæson 2 - Lektion 5

Aftenskole i programmering sæson Registrering af tid. Sæson 2 - Lektion 5 Registrering af tid Sæson 2 - Lektion 5 Før jul Vi har designet og bygget en model til håndtering af en timeregistrering Vi har kigget på hvordan vi håndterer fejl Vi har kopieret koden over i Bents x-code

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

6. Eventstyret programmering og Windows

6. Eventstyret programmering og Windows 6. Eventstyret programmering og Windows Indsigt i events og styresystemets rolle I det følgende skal vi se på en række mere tekniske ting vedrørende Delphi og Windows, nemlig hvordan programmer styres

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

Online billede filtrering

Online billede filtrering Online billede filtrering Eksamensprojekt 2014 Andreas Lorentzen, klasse 3.4 Roskilde Tekniske Gymnasium Programmering C 09-05-2014 I dette projekt vil jeg demonstrerer en af de mange ting moderne browsere

Læs mere

En lille vejledning i at bruge Paint Win 98 og Win XP Indhold

En lille vejledning i at bruge Paint Win 98 og Win XP Indhold 1 En lille vejledning i at bruge Paint Win 98 og Win XP Indhold Indhold...2 1. Åbn Paint...3 2. Vælg en baggrundsfarve og en forgrundsfarve...3 3. Tegn et billede...4 4. Ny, fortryd og gentag...4 5. Andre

Læs mere

Grafiske brugergrænseflader II

Grafiske brugergrænseflader II Grafiske brugergrænseflader II 1 Plan MVC (Model View Controller) - designmønsteret Observer Iterativ udvikling af et tegneprogram - muselyttere - applet/applikation-idiomet - designmønsteret State - designmønsteret

Læs mere

Adobe Titel Designer

Adobe Titel Designer Adobe Titel Designer I Premiere 6.5, har du mulighed for at designe sammensatte titler med Adobe Title Designer. Med Adobe Title Designer, kan du tilføje et væld af egenskaber til titler, brug de forskellige

Læs mere

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8 ONSCREENKEYS 5 Windows XP / Windows Vista / Windows 7 / Windows 8 [ PRODUKTBESKRIVELSE ] [ Dette smarte skærmtastatur med en virtuel musekliksfeature og taleoutput lader dig skrive hurtigt og arbejde med

Læs mere

Tegne- og billedbehandlingsprogrammer tilbyder mange forskellige værktøjer og funktioner. Denne mini-manual giver en hjælpende hånd.

Tegne- og billedbehandlingsprogrammer tilbyder mange forskellige værktøjer og funktioner. Denne mini-manual giver en hjælpende hånd. DIGITAL BILLEDKUNST MINI-MANUAL Tegne- og billedbehandlingsprogrammer tilbyder mange forskellige værktøjer og funktioner. Denne mini-manual giver en hjælpende hånd. Tegne- og malerværktøjer Blyant/Pencil

Læs mere

få en ny og bedre hjemmeside på få minutter Quick guide Del denne quick guide med alle som har glæde af en ny og bedre hjemmeside

få en ny og bedre hjemmeside på få minutter Quick guide Del denne quick guide med alle som har glæde af en ny og bedre hjemmeside få en ny og bedre hjemmeside på få minutter Quick guide Del denne quick guide med alle som har glæde af en ny og bedre hjemmeside 1 Alle har ret og råd til en professionel hjemmeside på få minutter GoMinisite

Læs mere

Aftenskole i programmering sæson Watch Me. Sæson 2 - Lektion 19

Aftenskole i programmering sæson Watch Me. Sæson 2 - Lektion 19 Watch Me Sæson 2 - Lektion 19 I sidste uge I sidste uge tog vi en lille maraton, for at få lavet version 0.5 af ugesedel appen, og lektionen blev 2.5 timer lang. Undskyld! Vi brugte tiden på: At lave en

Læs mere

Programmering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft

Programmering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft Kurserne Kurset: programmering i sproget Java Programmering og Udvidet Programmering Lærerne: Morten Larsen og Peter Sestoft Kursusmål: I skal lære at skrive interessante programmer i Java Forudsætninger:

Læs mere

Grafiske brugergrænseflader II!

Grafiske brugergrænseflader II! Grafiske brugergrænseflader II! Plan! MVC (Model View Controller)!!!- designmønsteret Observer! Iterativ udvikling af et tegneprogram!!- muselyttere!!!!!- applet/applikation-idiomet!!!- designmønsteret

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

Datatekniker med programmering som speciale

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

Læs mere

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3 DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Til at starte med vil jeg lige vis nogle små ændringer på opsætningen som jeg har lavet.

Til at starte med vil jeg lige vis nogle små ændringer på opsætningen som jeg har lavet. Microstation brugermøde 10. og 11. november 2008. Indlæg af Else-Marie Lorenzen. Vejdirektoratet Til at starte med vil jeg lige vis nogle små ændringer på opsætningen som jeg har lavet. Som det første

Læs mere

Miniguide for redaktører. Miniguide for redaktører. Leveret af DFF-EDB.dk

Miniguide for redaktører. Miniguide for redaktører. Leveret af DFF-EDB.dk Miniguide for redaktører Miniguide for redaktører Leveret af DFF-EDB.dk 1 INDHOLD Hjemmesider i Umbraco... 2 1. Kom i gang med Umbraco... 2 1.1 Login... 2 1.2. Når du arbejder på siden, inden den er udgivet...

Læs mere

Eksempel på en database: studenter, kurser, eksamener

Eksempel på en database: studenter, kurser, eksamener Udvidet Programmering 1999 Forelæsning 20, fredag 12. november 1999 Relationsdatabaser: relationer, tupler, attributter Forespørgselssproget SQL Databasesystemet PostgreSQL Tilgang til relationsdatabaser

Læs mere

Programmering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden.

Programmering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden. Programmering 1999 Forelæsning 5, tirsdag 14. september 1999 Oversigt Mere om klasser og objekter Klassefelter: static Konstante felter: final Indkapsling og synlighed: private og public Overlæsning af

Læs mere

Exceptions i Delphi. Try except

Exceptions i Delphi. Try except Exceptions i Delphi Exceptions er en teknik til at fange fejl under programafviklingen. Ikke programmeringsfejl, men fejl der opstår i forskellige situationer, f.eks. en fil der mangler en fil der er skrivebeskyttet,

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

Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api

Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api Specifikation Abstrakt, objektorienteret operativsystem-api Indhold 1 Indledning... 3 1.1 Introduktion... 3 1.2 Formål... 3 1.3 Overordnede krav... 3 2 Ressourcer i OS-API et... 4 2.1 Tråde... 4 2.2 Timere...

Læs mere

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007 JSP, Tomcat Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 10.october 2007 Hvad er JSP(Java Server Pages): Det er en teknik som er bygget ovenover Servlets teknikken, men fidusen er at det skal

Læs mere

Arkitektur for begyndere

Arkitektur for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle

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

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Miniguide. Illustrator. Kom godt i gang med Illustrator. Kursusfabrikken

Miniguide. Illustrator. Kom godt i gang med Illustrator. Kursusfabrikken Miniguide Illustrator Kom godt i gang med Illustrator Kursusfabrikken Introduktion Adobe Illustrator er Adobes vektorgrafik software. Vektorgrafik har den fordel, at grafikken kan skaleres op og ned i

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 9 Andre designmønstre Andre designmønstre: Uforanderlig, Fluevægt, Lagdelt Initialisering, Komposit/Rekursiv Komposition, Kommando/Ændring Fremlæggelse af programmering/status

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Unity Guide 1 CONTENTS

Unity Guide 1 CONTENTS Unity Guide 1 CONTENTS Unity interface... 2 Components... 4 Materials... 7 Scripts opbygning... 8 Terrain... 8 Animations... 9 Particle system... 11 Audio... 11 Sprites... 12 GUI... 14 UNITY INTERFACE

Læs mere

Objektorienterede metoder

Objektorienterede metoder Objektorienterede metoder Denne gang: Designmønstre Skabende designmønstre: Fabrikeringsmetode/Fabrik, Singleton, Abstrakt fabrik (Toolkit), Prototype, Objektpulje Singleton eksempel: Forskellige slags

Læs mere

Guide til oprettelse/redigering af events på bornholm.info

Guide til oprettelse/redigering af events på bornholm.info Guide til oprettelse/redigering af events på bornholm.info Trin Login Beskrivelse 1. Login på hjemmesiden: URL: http://bornholm.info/wp-admin/ Brugernavn: se mailen Adgangskode: se mailen Opret event 1.

Læs mere

Brugervejledning for Microstation til OpenSceneGraph konverter

Brugervejledning for Microstation til OpenSceneGraph konverter Brugervejledning for Microstation til OpenSceneGraph konverter - sidste rettelse: 10/06/2005 side 1 Indholdsfortegnelse Kort oversigt over dgn2osg... 3 Systemkrav... 3 Funktionalitet...4 Geometri...4 Materialer...

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

Scratch. - introduktionshæfte

Scratch. - introduktionshæfte Scratch - introduktionshæfte Opret bruger 2 Det første, du skal gøre er at oprette dig som bruger, så dine projekter bliver gemt. Gå ind på scratch.mit.edu/ Vælg knappen Meld dig ind i Scratch i den øverste

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

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

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

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11 DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4

Læs mere

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

Prezi. Aldrig mere gammeldaws slideshows!? Version: December 2012

Prezi. Aldrig mere gammeldaws slideshows!? Version: December 2012 Prezi Aldrig mere gammeldaws slideshows!? Version: December 2012 Indholdsfortegnelse Hvad er Prezi?...4 Hvordan finder jeg Prezi?...5 Skoletube og Prezi...5 Lav din første Prezi-præsentation...5 Indtast

Læs mere