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

Størrelse: px
Starte visningen fra side:

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

Transkript

1 Kursus i OOP og Java Kursus i Objektorienteret programmering i Java

2 Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger du dele af værket i et nyt værk, skal de dele, der stammer fra dette værk, igen frigives under ÅDL Den fulde licens kan ses på

3 kla ssena vn: Boks _ va ria b ler: længde : double bredde : double højde : double _ m etoder: volumen() : double public class BenytBoks Objekter og klasser public class Boks double længde; double bredde; double højde; double volumen() double vol; vol = længde*bredde*højde; return vol; public static void main(string[] arg) double rumfang; Boks boksobjekt; boksobjekt = new Boks(); boksobjekt.længde= 12.3; boksobjekt.bredde= 2.22; boksobjekt.højde = 6.18; rumfang = boksobjekt.volumen(); System.out.println("Boksens volume: "+ rumfang); Boksens volume:

4 Objekter og klasser kla ssena vn: Boks _ va ria b ler: public class BenytBokse public static void main(string[] arg) Boks boks1, boks2; boks1 = new Boks(); boks2 = new Boks(); boks1.længde= 12.3; boks1.bredde= 2.22; boks1.højde= 6.18; boks2.længde= 13.3; boks2.bredde= 3.33; boks2.højde= 7.18; double v1, v2; v1 = boks1.volumen(); v2 = boks2.volumen(); Volumenforskel: længde : double bredde : double højde : double _ m etoder: volumen() : double System.out.println("Volumenforskel: "+ (v2 - v1));

5 Objekter og klasser Person fornavn efternavn fødselsdag hvaderdinalder() Klassen er objekternes type. Beskriver, hvad de indeholder Objekterne er de konkrete forekomster (instanser) af klassen Person Person Person fornavn="troels" fornavn="jacob" fornavn="anne" efternavn="nordfalk" efternavn="nordfalk" efternavn="berg" fødselsdag=11/8/72 fødselsdag=1/1/71 fødselsdag=18/2/66 Giv flere (mindst 3) eksempler for Person-klassen på Data Metoder foranderlige eller uforanderlige? kommandoer eller spørgsmål? Gør det samme for Punkt (i et x-y-koordinatsystem)

6 Samlinger af data Eksempel på brug af liste List liste; liste = new ArrayList<String>(); liste.add("æh"); liste.add("øh",0); Gennemløb v.hj.a. tællevariabel for (int i=0; i<liste.size(); i++) String s = liste.get(i); // gør noget med s System.out.println(s);

7 Ulven får en idé! Ulven slikker sig om munden Rødhætte gemmer sig i skoven De tre små grise slikker sig om munden Ulven gemmer sig i skoven Objekter og klasser import java.util.*; public class Eventyr public static void main(string[] arg) ArrayList<String> personer = new ArrayList<String>(); personer.add("de tre små grise"); personer.add("ulven"); personer.add("rødhætte"); ArrayList<String> handlinger = new ArrayList<String>(); handlinger.add("slikker sig om munden"); handlinger.add("får en idé!"); handlinger.add("gemmer sig i skoven"); for (int i=0; i<5; i++) String person = personer.get( (int) (Math.random()*3)); String handling = handlinger.get( (int) (Math.random()*handlinger.size())); System.out.println(person + " " + handling);

8 Test hinanden Slå op på afsnit 3.7 (Test dig selv) Hvis I kan svare på spørgsmålene herunder, kan I være rimelig sikker på, at I har forstået alt det væsentlige i kapitlet. Sæt jer sammen to og to og hør hinanden i spørgsmålene. I afsnit 3.8 er nogle vejledende svar 1) 1)Hvad er et objekt? 2)Hvad er en klasse? 4)Hvordan oprettes et objekt? 5)Hvordan kan man ændre på et objekt (dets data)? 6)Hvad er en metode? 7)Hvad er en returtype? 8)Hvad er en parameter?

9 public class Boks2 private double længde; private double bredde; private double højde; Indkapsling Boks2 længde :double bredde :double højde :double public void sætmål(double lgd, double b, double h) if (lgd<=0 b<=0 h<=0) længde = 10.0; bredde = 10.0; højde = 10.0; System.out.println("Ugyldige mål. Bruger standardmål."); else længde = lgd; bredde = b; højde = h; +sætmål(lgd, b, h) +volumen() :double public double volumen() double vol; vol = længde*bredde*højde; return vol;

10 public class Boks3 private double længde; private double bredde; private double højde; public Boks3() længde = 10.0; bredde = 10.0; højde = 10.0; Konstruktører public Boks3(double lgd, double b, double h) sætmål(lgd,b,h); public void sætmål(double lgd, double b, double h) if (lgd<=0 b<=0 h<=0) System.out.println("Ugyldige mål. Bruger standardmål."); længde = 10.0; bredde = 10.0; højde = 10.0; else længde = lgd; bredde = b; højde = h; public double volumen() double vol = længde*bredde*højde ; return vol; Boks3 længde :double bredde :double højde :double +Boks3() +Boks3(lgd, b, h) +sætmål(lgd, b, h) +volumen() :double public class BenytBoks3 public static void main(string[] arg) Boks3 enboks; enboks = new Boks3(); // brug konstruktøren System.out.println("Volumen er: "+ enboks.volumen()); Boks3 enandenboks; enandenboks = new Boks3(5,5,10); // brug den anden kons System.out.println("Volumen er: "+ enandenboks.volumen() Volumen er: Volumen er: 250.0

11 Konstruktører speciel metode, der har samme navn som klassen kaldes automatisk ved oprettelse af et objekt med 'new' skal initialisere variablerne i det nye objekt Hvad hvis der ikke er nogen konstruktør defineret? Så definerer java en uden parametre Standardkonstruktøren

12 Objektororienteret modellering Hvad er en klasse? Hvad giver det mening at oprette et objekt ud fra? Noget hvor hvert objekt har nogle unikke data Noget med metoder (kommandoer/spørgsmål) Klasse: Terning Hvilke (relevante) data? Hvilke (relevante) kommandoer? Hvilke (relevante) spørgsmål? Dette er Ternings ansvarsområder i et program

13 public class BenytTerning public static void main(string[] arg) Terning t; t = new Terning(); // opret terning boolean sekser = false; int antalkast = 0; while (sekser==false) t.kast(); antalkast = antalkast + 1; System.out.println( "kast "+antalkast+": "+t.værdi); if (t.værdi == 6) sekser = true; System.out.println( "Vi slog en 6'er efter " +antalkast+" slag."); kast 1: 4 kast 2: 2 kast 3: 6 Vi slog en 6'er efter 3 slag. Terning-klassen public class Terning public int værdi; Terning +værdi :int +Terning() +kast() +tostring() :String public Terning() kast(); // kald kast() der sætter værdi til noget fornuftigt /** kaster terningen, så den får en anden værdi */ public void kast() // find en tilfældig side double tilfældigttal = Math.random(); værdi = (int) (tilfældigttal * 6 + 1); /** giver en beskrivelse af terningen som en streng */ public String tostring() String svar = ""+værdi; // værdi som streng, f.eks. "4" return svar;

14 Relationer mellem objekter Ansvarsområder

15 Raflebæger-klassen public class Raflebaeger public ArrayList<Terning> terninger; public Raflebaeger(int antalterninger) terninger = new ArrayList<Terning>(); for (int i=0; i<antalterninger; i++) Terning t; t = new Terning(); tilføj(t); Raflebaeger +terninger: ArrayList<Terning> +Raflebaeger(antalTerninger :int) +tilføj(t :Terning) +ryst() +sum() :int +antalderviser(værdi :int) :int +tostring() :String * Terning +værdi :int +Terning() +kast() +tostring() :String public void tilføj(terning t) terninger.add(t); public void ryst() for (Terning t : terninger) t.kast(); public int sum() int resultat=0; for (Terning t : terninger) resultat = resultat + t.værdi; return resultat; public int antalderviser(int værdi) int resultat; resultat = 0; for (Terning t : terninger) if (t.værdi==værdi) resultat = resultat + 1; return resultat; public String tostring() return terninger.tostring();

16 public class BenytRaflebaeger public static void main(string[] arg) Raflebaeger bæger; boolean toseksere; int antalforsøg; bæger = new Raflebaeger(3); toseksere=false; antalforsøg = 0; while (toseksere==false) bæger.ryst(); Raflebæger-klassen Raflebaeger +terninger: ArrayList<Terning> +Raflebaeger(antalTerninger :int) +tilføj(t :Terning) +ryst() +sum() :int +antalderviser(værdi :int) :int +tostring() :String // kast alle terningerne System.out.print("Bæger: " + bæger + " sum: " + bæger.sum()); System.out.println(" Antal 6'ere: "+bæger.antalderviser(6) + " antal 5'ere: "+bæger.antalderviser(5)); if (bæger.antalderviser(6) == 2) toseksere = true; antalforsøg++; * System.out.println("Du fik to seksere efter "+ antalforsøg+" forsøg."); Bæger: [4, 4, 4] sum: 12 Antal 6'ere: 0 antal 5'ere: 0 Bæger: [5, 5, 6] sum: 16 Antal 6'ere: 1 antal 5'ere: 2 Bæger: [2, 5, 6] sum: 13 Antal 6'ere: 1 antal 5'ere: 1 Bæger: [4, 2, 4] sum: 10 Antal 6'ere: 0 antal 5'ere: 0 Bæger: [6, 4, 1] sum: 11 Antal 6'ere: 1 antal 5'ere: 0 Bæger: [6, 6, 4] sum: 16 Antal 6'ere: 2 antal 5'ere: 0 Du fik to seksere efter 6 forsøg. Terning +værdi :int +Terning() +kast() +tostring() :String

17 Test hinanden (afsnit 4.8) 1)Hvad er en klasse? 2)Hvad kan en klasse indeholde? 3)Lav en klassedefinition og beskriv syntaksen. 4)Hvad er en metode? 5)Definér en metode og beskriv syntaksen. 6)Hvad betyder det, at en metode returnerer noget? 7)Beskriv reglerne omkring return og returværdi. 8)Lav en metode, der finder kvadratet af et tal (x*x) og returnerer det. 9)Hvad er et objekt? 10)Hvad er en objektvariabel? 11)Hvordan oprettes et objekt. 12)Hvad sker der, når et objekt oprettes? 13)Hvad er en konstruktør? Hvilken kode bør være i konstruktøren? 14)Hvad er standardkonstruktøren? Vejledende svar kan findes i afsnit 4.9.

18 Arv fra eksisterende klasser Hvad gør man, hvis man ønsker en klasse, der ligner en eksisterende klasse, men alligevel ikke helt er den samme? Kopiere koden? Svært at vedligeholde flere kopier af den samme kode Kalde koden i den anden klasse? Nedarving Besværligt og svært at gennemskue programmet underklasse, der arver fra en anden klasse genbruger al koden fra "stamklassen" (superklassen) definerer kun den ekstra kode, der gør underklassen anderledes i forhold til superklasen Superklasse Underklasse

19 Falske terninger /** En klasse der beskriver 6 sidede terninger */ public class Terning public int værdi; public Terning() kast(); public void kast() // find en tilfældig side double tilfældigttal = Math.random(); værdi = (int) (tilfældigttal * 6 + 1); Terning +værdi :int +Terning() +kast() er-en-relation +tostring() :String FalskTerning1 + kast() public String tostring() String svar = ""+værdi; return svar; /** En Terning klasse for falske terninger. */ public class FalskTerning1 extends Terning /** tilsidesæt kast med en "bedre" udgave */ public void kast() // udskriv så vi kan se at metoden bliver kaldt // System.out.println("[kast() på FalskTerning1] "); værdi = (int) (6*Math.random() + 1); // er det 1 eller 2? Så lav det om til 6! if ( værdi <= 2 ) værdi = 6;

20 FalskTerning1 har omdefineret (tilsidesat) kast()-metoden med en nu udgave public class Snydespil1 public static void main(string[] arg) Terning t1 = new Terning(); FalskTerning1 t2 = new FalskTerning1(); System.out.println("t1: "+t1); System.out.println("t2: "+t2); Falske terninger for (int i=0; i<5; i++) t1.kast(); t2.kast(); System.out.println("t1=" + t1 + " t2=" + t2); if (t1.værdi == t2.værdi) System.out.println("To ens!"); Terning +værdi :int +Terning() +kast() er-en-relation +tostring() :String FalskTerning1 + kast() t1: 1 t2: 3 t1=1 t2=5 t1=1 t2=6 t1=4 t2=3 t1=6 t2=6 To ens! t1=2 t2=6 FalskTerning1 er en Terning, da den har alle de variabler og metoder, Terning har

21 Arv: Ekstra metoder /** En klasse der beskriver 6 sidede terninger */ public class Terning public int værdi; public Terning() kast(); public void kast() // find en tilfældig side double tilfældigttal = Math.random(); værdi = (int) (tilfældigttal * 6 + 1); public String tostring() String svar = ""+værdi; return svar; public class FalskTerning2 extends Terning public int snydeværdi; public void sætsnydeværdi(int nysnydeværdi) snydeværdi = nysnydeværdi; public void kast() værdi = (int) (6*Math.random() + 1); Terning +værdi :int +Terning() +kast() +tostring() :String FalskTerning2 + snydeværdi :int + sætsnydeværdi(v :int) + kast() // 1 eller 2? Så lav det om til snydeværdi! if ( værdi <= 2 ) værdi = snydeværdi;

22 UML og klasserelationer Felt _ navn :String _ + passeret(sp :Spiller) + landet(sp :Spiller) Helle gevinst :double +landet(sp:spiller) Spiller Start gevinst :double + passeret(sp:spiller) + landet(sp :Spiller) navn :String konto :double feltnr :int + transaktion(kr :double) + betal(modt :Spiller, kr :double) + tur(felter :Vector) Rederi ejer :Spiller pris :double grundleje :double +landet(sp:spiller) Rederi og Gade har en Spiller. Gade ejer :Spiller pris :double grundleje :double antalhuse :int huspris :double +landet(sp:spiller) Helle, Start, Rederi og Gade er-et Felt.

23 public class Felt String navn; public void passeret(spiller sp) sp.besked("du passerer "+navn); public void landet(spiller sp) public class Spiller String navn; double konto; int feltnr; public Spiller(String navn, double konto) this.navn=navn; this.konto=konto; feltnr = 0; public void besked(string besked) System.out.println(navn+": "+besked); public class Helle extends Felt double gevinst; public Helle (int gevinst) navn="helle"; this.gevinst=gevinst; public void landet(spiller sp) sp.besked("du lander på helle " +"og får overført "+gevinst); sp.transaktion(gevinst); public boolean spørgsmål(string spørgsmål) String spm = navn+": Vil du "+spørgsmål+"?"; String svar = javax.swing.joptionpane.showinputdialog(spm, "ja"); System.out.println(spm+" "+svar); if ("ja".equalsignorecase(svar)) return true; else return false; public void transaktion(double kr) konto = konto + kr; System.out.println(navn+"s konto lyder nu på " +konto+" kr."); public void betal(spiller modtager, double kr) System.out.println(navn+" betaler " +modtager.navn+": "+kr+" kr."); modtager.transaktion(kr); transaktion( kr);

24 public class Rederi extends Felt Spiller ejer; double pris; double grundleje; public Rederi(String navn, double pris, double leje) this.navn = navn; this.pris = pris; this.grundleje = leje; public void landet(spiller sp) sp.besked("du er landet på "+navn); if (sp==ejer) // spiller ejer selv grunden sp.besked("det er din egen grund"); else if (ejer==null) // ingen ejer grunden, så køb den if (sp.konto > pris) if (sp.spørgsmål("købe "+navn+" for "+pris)) sp.transaktion( pris ); ejer=sp; else sp.besked("du har ikke penge nok til at købe "+navn); else // feltet ejes af anden spiller sp.besked("leje: "+grundleje); sp.betal(ejer, grundleje); // spiller betaler til ejeren

25 public class Gade extends Felt Spiller ejer; double pris; double grundleje; int antalhuse = 0; double huspris; public Gade(String navn, double pris, double leje, double huspris) this.navn=navn; this.pris=pris; this.grundleje=leje; this.huspris=huspris; public void landet(spiller sp) sp.besked("du er landet på "+navn); if (sp==ejer sp.besked("det er din egen grund"); if (antalhuse<5 && sp.konto>huspris && sp.spørgsmål("købe hus for "+huspris)) sp.besked("du bygger hus på "+navn+" for "+huspris); ejer.transaktion( huspris ); antalhuse = antalhuse + 1; else if (ejer==null) if (sp.konto > pris && sp.spørgsmål("købe "+navn+" for "+pris)) sp.transaktion( pris ); ejer=sp; else // felt ejes af anden spiller double leje = grundleje + antalhuse * huspris; sp.besked("leje: "+leje); sp.betal(ejer, leje); // spiller betaler til ejeren

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

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2 DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld

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

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

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

//Udskriver System.out.println(Hej  + ditfornavn +   + ditefternavn + .); System.out.println(Du er  + dinalder +  aar gammel! Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for

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

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

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

Løsning af møntproblemet

Løsning af møntproblemet Løsning af møntproblemet Keld Helsgaun RUC, oktober 1999 Antag at tilstandene i problemet (stillingerne) er repræsenteret ved objekter af klassen State. Vi kan da finde en kortest mulig løsning af problemet

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

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

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

Kursus i OOP og Java

Kursus i OOP og Java Kursus i OOP og Java Sidst opdateret 24. november 2001 kun afpudset t.o.m lektion 12 Indholdsfortegnelse Kursus i OOP og Java 1 Til underviseren 5 Om transparenterne 5 Om ugesedlerne 5 Lektion 1 6 Mål

Læs mere

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4 DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens

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

Kursus navn: Indledende programmering Kursus nr. 02101

Kursus navn: Indledende programmering Kursus nr. 02101 Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr. 02101 Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning

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

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

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

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

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

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

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

Anvendelse af metoder - Programmering

Anvendelse af metoder - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java VPJ dag 1 Introduktion og overblik over kurset Datastrukturer: Lister, mængder og iteratorer Opsamling: Grafikprogrammering, komponenter, containere og layout Bruge komponenter

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

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang

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

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

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

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

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

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

public Set(int size) { this.listelement = new LinkedList<Integer>(); }

public Set(int size) { this.listelement = new LinkedList<Integer>(); } // Henri AYCARD import java.util.linkedlist; public class Set { private LinkedList listelement; public Set(int size) { this.listelement = new LinkedList(); public boolean contains(int

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

Virkefeltsregler i Java

Virkefeltsregler i Java Virkefeltsregler i Java int i; int k; Sequence s; int j; What s in a name? Brian spillede blændende i søndags! Skolen ligger i Viby Ring til Kirsten og sig at... Et navn fortolkes i en kontekst og konteksten

Læs mere

Vejledende løsninger

Vejledende løsninger Roskilde Universitetscenter side 1 af 8 sider Vejledende løsninger Opgave 1 Spørgsmål 1.1 a = b - a; b = b - a; a = b + a; Opgaven har flere løsninger. En anden løsning er: a = b + a; b = a - b; a = a

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

Forelæsning 17, tirsdag 2. november 1999 Søgning efter en given værdi i en tabel. Programmering 1999

Forelæsning 17, tirsdag 2. november 1999 Søgning efter en given værdi i en tabel. Programmering 1999 sammenligninger, hvor Programmering 1999 Forelæsning 17, tirsdag 2 november 1999 Søgning efter en given værdi i en tabel Lineær søgning og binær søgning Effektivitet: maskinuafhængig vurdering af køretid

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

Skriftlig eksamen i Datalogi

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

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

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

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

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

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

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

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 Afleveringsopgaver

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

BRP 6.9.2006 Kursusintroduktion og Java-oversigt

BRP 6.9.2006 Kursusintroduktion og Java-oversigt BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:

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

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag ArrayList Collection (samling af objekter) med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel

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

DM01 DM01. 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 13/5-2003. Side 1 af 7

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

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

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

Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer

Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer Opfølgning på Opgave 2 og Use Cases originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University of Denmark Opgaven fortsat Efter

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% Opgave

Læs mere

14.1 Internationale programmer

14.1 Internationale programmer 14.1 Internationale programmer Når et program skal anvendes af flere kulturer og sprog opstår behov for at programtekster, beløb og datoangivelser afhænger af landet og sproget, og man må i gang med at

Læs mere

Eksamens spørgsmål i Java HTML - DataBase 3. Semester (i)

Eksamens spørgsmål i Java HTML - DataBase 3. Semester (i) Eksamens spørgsmål i Java HTML - DataBase 3. Semester (i) 1: KLASSE METODE KONSTRUKTØR EKS. PÅ TYPE (VARIABLE) PUBLIC/PRIVATE OBJECT UD FRA KLASSE KALD METODE TILFØR PARAMETER TIL METODE RETURNERE VARIBEL.

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

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

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

Forelæsning Uge 2 Torsdag

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

Læs mere

Jacob Christiansen, Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense

Jacob Christiansen, Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense 7 DM -. Obligatoriske Opgave Løsning af ligningssystem vha. fipunktmetoden Jacob Christiansen, 8 moffe@imada.sdu.dk Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense. Opgaven Der skal implementeres

Læs mere

Parallelle algoritmer

Parallelle algoritmer Parallelle algoritmer 1 Von Neumann s model John von Neumann 1903-57 Von Neumanns model: Instruktioner og data er lagret i samme lager, og én processor henter instruktioner fra lageret og udfører dem én

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

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Klassevariabler og klassemetoder Levetid for variabler og parametre Virkefeltsregler Projektopgave Kaninjagt Lommeregner (for MAT studerende) Klassevariabler og klassemetoder

Læs mere

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner Java Programmering En bog for begyndere Skrevet af Henrik Kressner Indholdsfortegnelse Introduktion...3 1 Introduktion til Java...4 1.1 Javakoden...4 1.2 Det første program...6 1.2 Skriv til skærmen...6

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

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens Programmering 1999 Forelæsning 3, tirsdag 7. september 1999 Aritmetiske og logiske operatorer, præcedens Den indbyggede klasse String: tegnstrenge Metoder i klasser Metoder: returtype eller void Metoder:

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 Afleveringsopgaver

Læs mere

Forelæsning Uge 5 Mandag

Forelæsning Uge 5 Mandag Forelæsning Uge 5 Mandag Sortering ved hjælp af klassen Collections Ved hjælp af interfacet Comparable Ved hjælp af interfacet Comparator findbest som sorteringsproblem Køreprøven i uge 7 Form Forberedelse

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

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

Noter og opgaver. Programmering A IMADA. Niels Kjeldsen & Jacob Aae Mikkelsen. Med grundig korrektur og rettelser af Edmund Christiansen

Noter og opgaver. Programmering A IMADA. Niels Kjeldsen & Jacob Aae Mikkelsen. Med grundig korrektur og rettelser af Edmund Christiansen Programmering A IMADA Noter og opgaver Niels Kjeldsen & Jacob Aae Mikkelsen Med grundig korrektur og rettelser af Edmund Christiansen Noter til Programmering A INDHOLD Indhold 1 Indledning 3 2 Kom i gang

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

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

METODER ARV KLASSER. Grundlæggende programmering Lektion 5

METODER ARV KLASSER. Grundlæggende programmering Lektion 5 METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen

Læs mere

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 3 Skabende designmønstre Skabende designmønstre: Fabrikeringsmetode/Fabrik, Singleton, Abstrakt fabrik (Toolkit), Prototype, Objektpulje Eksempel: Forskellige slags

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

Forelæsning Uge 12 Torsdag

Forelæsning Uge 12 Torsdag Forelæsning Uge 12 Torsdag Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser (objekter) af En abstrakt klasse

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

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

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

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

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (i mandags) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

Forelæsning Uge 12 Mandag

Forelæsning Uge 12 Mandag Forelæsning Uge 12 Mandag Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser (objekter) af En abstrakt klasse

Læs mere

Introduktion til ActionScript

Introduktion til ActionScript Introduktion til ActionScript 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 på

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

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

Klasser og nedarvning

Klasser og nedarvning Datalogi C, Efterår 2004 OH er, forelæsning 21/9-2004 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Opgaven til senere: Generalisere

Læs mere

Martin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox

Martin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox Martin Olsen DM0 Projekt 0 Del I. marts 0 FOTO: Colourbox Indhold Indledning... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Kildekode til SimpleInv.java... Kildekode til MergeSort.java...

Læs mere

Find største element, sæt det på sidste plads. Grundidé i hobsortering. er er

Find største element, sæt det på sidste plads. Grundidé i hobsortering. er er Programming 1999 KVL Side 19-2 Tidsforbruget, dvs asymptotisk proportionalt med Sorting af element: Tidsforbrug de mindste element, sortet øvrige element 0 Løkkeinvariant for udvalgssorting osv Find tredjemindste

Læs mere

Om binære søgetræer i Java

Om binære søgetræer i Java Om binære søgetræer i Java Mads Rosendahl 7. november 2002 Resumé En fix måde at gemme data på er i en træstruktur. Måden er nyttig hvis man får noget data ind og man gerne vil have at det gemt i en sorteret

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

02312 Indledende programmering og 02313 Udviklingsmetoder til IT- Systemer

02312 Indledende programmering og 02313 Udviklingsmetoder til IT- Systemer Projektopgave efterår 2009 jan 2010 02312 Indledende programmering og 02313 Udviklingsmetoder til IT- Systemer Projekt navn: CDIO tre ugers projekt Gruppe nr.: 52 Afleveringsfrist: Mandag d. 18-01-10 Studie

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

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