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

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Starte visningen fra side:

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

Transkript

1 DM503 Forelæsning 11

2 Generics Pakker Exceptions Indhold

3 Generics

4 Nedarvning og Generics Generics

5 Nedarvning og Generics Husk Box<T> fra sidst Generics public class Box<T> {! private T object;! public void add( T object ) {!! this.object = object;! }! public T get() {!! return object;! } }

6 Nedarvning og Generics Husk Box<T> fra sidst Generics public class Box<T> {! private T object;! public void add( T object ) {!! this.object = object;! }! public T get() {!! return object;! } } Antag vi har følgende Box<Number> numberbox = new Box<Number>(); Box<Integer> integerbox = new Box<Integer>();

7 Nedarvning og Generics Husk Box<T> fra sidst Generics public class Box<T> {! private T object;! public void add( T object ) {!! this.object = object;! }! public T get() {!! return object;! } } Antag vi har følgende Box<Number> numberbox = new Box<Number>(); Box<Integer> integerbox = new Box<Integer>(); Quiz

8 Nedarvning og Generics Husk Box<T> fra sidst Generics public class Box<T> {! private T object;! public void add( T object ) {!! this.object = object;! }! public T get() {!! return object;! } } Antag vi har følgende Box<Number> numberbox = new Box<Number>(); Box<Integer> integerbox = new Box<Integer>(); Quiz numberbox = integerbox;

9 Nedarvning og Generics Husk Box<T> fra sidst Generics public class Box<T> {! private T object;! public void add( T object ) {!! this.object = object;! }! public T get() {!! return object;! } } Antag vi har følgende Box<Number> numberbox = new Box<Number>(); Box<Integer> integerbox = new Box<Integer>(); Quiz numberbox = integerbox; integerbox = numberbox;

10 Generics

11 integerbox = numberbox; Generics

12 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>?

13 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>?

14 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej

15 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox;

16 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>?

17 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>? Mao. er Box<Integer> en specialiseret udgave af Box<Number>?

18 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>? Mao. er Box<Integer> en specialiseret udgave af Box<Number>? Det kunne måske lyde mere rimeligt...

19 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>? Mao. er Box<Integer> en specialiseret udgave af Box<Number>? Det kunne måske lyde mere rimeligt... Men husk at man kan putte en Double i en Box<Number>

20 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>? Mao. er Box<Integer> en specialiseret udgave af Box<Number>? Det kunne måske lyde mere rimeligt... Men husk at man kan putte en Double i en Box<Number> Det kan man ikke i en Box<Integer>

21 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>? Mao. er Box<Integer> en specialiseret udgave af Box<Number>? Det kunne måske lyde mere rimeligt... Men husk at man kan putte en Double i en Box<Number> Det kan man ikke i en Box<Integer> Dvs. Box<Integer> er ikke en Box<Number>

22 Generics

23 Generics Antag vi vil have en variabel der kun kan være en kasse af tal

24 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number

25 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox;

26 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox; Kan være en Box af en ukendt (wildcard) type der nedarver fra Number

27 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox; Kan være en Box af en ukendt (wildcard) type der nedarver fra Number numberbox = new Box<Integer>();

28 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox; Kan være en Box af en ukendt (wildcard) type der nedarver fra Number numberbox = new Box<Integer>(); numberbox = new Box<Number>();

29 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox; Kan være en Box af en ukendt (wildcard) type der nedarver fra Number numberbox = new Box<Integer>(); numberbox = new Box<Number>(); Ved en Box af en type der ikke nedarver fra Number fås en fejl

30 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox; Kan være en Box af en ukendt (wildcard) type der nedarver fra Number numberbox = new Box<Integer>(); numberbox = new Box<Number>(); Ved en Box af en type der ikke nedarver fra Number fås en fejl numberbox = new Box<String>();

31 Generics

32 Wildcards Generics

33 Generics Wildcards Anvendes oftest ved (generelle) metoder

34 Generics Wildcards Anvendes oftest ved (generelle) metoder Fx public double sum(list<? extends Number> lst) {! double sum = 0.0;! for (Number n : lst) {!! sum += n.doublevalue(); }! return sum; }

35 Generics Wildcards Anvendes oftest ved (generelle) metoder Fx public double sum(list<? extends Number> lst) {! double sum = 0.0;! for (Number n : lst) {!! sum += n.doublevalue(); }! return sum; } Beregner summen af en liste af tal

36 Pakker

37 Pakker En pakker er en gruppering af relaterede klasser

38 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse

39 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker

40 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace)

41 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected)

42 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected) Java gruppere på baggrund af funktion

43 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected) Java gruppere på baggrund af funktion Fundamentale ting - java.lang

44 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected) Java gruppere på baggrund af funktion Fundamentale ting - java.lang Input og output - java.io

45 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected) Java gruppere på baggrund af funktion Fundamentale ting - java.lang Input og output - java.io Hjælpeklasser (datastrukturer) - java.util

46 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected) Java gruppere på baggrund af funktion Fundamentale ting - java.lang Input og output - java.io Hjælpeklasser (datastrukturer) - java.util...

47 Pakker

48 Pakker Antag vi har tre klasser vi gerne vil lægge i en pakke

49 Pakker Antag vi har tre klasser vi gerne vil lægge i en pakke public abstract class Car {...}

50 Pakker Antag vi har tre klasser vi gerne vil lægge i en pakke public abstract class Car {...} public class Audi extends Car {...}

51 Pakker Antag vi har tre klasser vi gerne vil lægge i en pakke public abstract class Car {...} public class Audi extends Car {...} public class Skoda extends Car {...}

52 Pakker Antag vi har tre klasser vi gerne vil lægge i en pakke public abstract class Car {...} public class Audi extends Car {...} public class Skoda extends Car {...}

53 Pakker

54 Pakker Pkt. 1 - Find på et navn til pakken

55 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix

56 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne

57 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix

58 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker

59 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention)

60 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention) dk.sdu.imada

61 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention) dk.sdu.imada Postfix

62 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention) dk.sdu.imada Postfix Et selvvalgt navn

63 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention) dk.sdu.imada Postfix Et selvvalgt navn Fx vehicles

64 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention) dk.sdu.imada Postfix Et selvvalgt navn Fx vehicles navn = dk.sdu.imada + vehicles = dk.sdu.imada.vehicles

65 Pakker

66 Pakker Pkt. 2 - Indsæt pakkenavnet i kildekoden

67 Pakker Pkt. 2 - Indsæt pakkenavnet i kildekoden Indsæt package dk.sdu.imada.vehicles;

68 Pakker Pkt. 2 - Indsæt pakkenavnet i kildekoden Indsæt package dk.sdu.imada.vehicles; Øverst i hver java-fil

69 Pakker Pkt. 2 - Indsæt pakkenavnet i kildekoden Indsæt package dk.sdu.imada.vehicles; Øverst i hver java-fil

70 Pakker

71 Pakker Pkt. 3 - Organiser filerne i forhold til pakkenavnet

72 Pakker Pkt. 3 - Organiser filerne i forhold til pakkenavnet Klassen Car i pakken dk.sdu.imada.vehicles

73 Pakker Pkt. 3 - Organiser filerne i forhold til pakkenavnet Klassen Car i pakken dk.sdu.imada.vehicles Lægges i filen Car.java i biblioteket

74 Pakker Pkt. 3 - Organiser filerne i forhold til pakkenavnet Klassen Car i pakken dk.sdu.imada.vehicles Lægges i filen Car.java i biblioteket dk/sdu/imada/vehicles/

75 Pakker

76 Pakker Pkt. 4 - Oversæt (kompiler) Java-filerne

77 Pakker Pkt. 4 - Oversæt (kompiler) Java-filerne javac dk/sdu/imada/vehicles/car.java

78 Pakker Pkt. 4 - Oversæt (kompiler) Java-filerne javac dk/sdu/imada/vehicles/car.java javac dk/sdu/imada/vehicles/audi.java

79 Pakker Pkt. 4 - Oversæt (kompiler) Java-filerne javac dk/sdu/imada/vehicles/car.java javac dk/sdu/imada/vehicles/audi.java javac dk/sdu/imada/vehicles/skoda.java

80 Pakker Pkt. 4 - Oversæt (kompiler) Java-filerne javac dk/sdu/imada/vehicles/car.java javac dk/sdu/imada/vehicles/audi.java javac dk/sdu/imada/vehicles/skoda.java

81 Pakker

82 Pkt. 5 - Brug pakken Pakker

83 Pakker Pkt. 5 - Brug pakken Skriv en klasse som bruger pakken

84 Pakker Pkt. 5 - Brug pakken Skriv en klasse som bruger pakken import dk.sdu.imada.vehicles.audi; public class Main {! public static void main(string[] args) {!! Audi a8 = new Audi();!! a8.drive(45.5);!! System.out.println("My Audi A8 has driven: " + a8.getmileage());! } }

85 Pakker Pkt. 5 - Brug pakken Skriv en klasse som bruger pakken import dk.sdu.imada.vehicles.audi; public class Main {! public static void main(string[] args) {!! Audi a8 = new Audi();!! a8.drive(45.5);!! System.out.println("My Audi A8 has driven: " + a8.getmileage());! } }

86 Pakker

87 Pakker Man kan også pakke pakker sammen i et pakket format

88 Pakker Man kan også pakke pakker sammen i et pakket format Kan sendes til andre

89 Pakker Man kan også pakke pakker sammen i et pakket format Kan sendes til andre Kaldes jar-filer

90 Pakker Man kan også pakke pakker sammen i et pakket format Kan sendes til andre Kaldes jar-filer Er basalt set en zip-fil

91 Pakker Man kan også pakke pakker sammen i et pakket format Kan sendes til andre Kaldes jar-filer Er basalt set en zip-fil Se mere her:

92 Exceptions

93 Exceptions Et sidste kig på exceptions

94 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception

95 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java

96 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions

97 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions Skal fanges med try-catch,

98 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions Skal fanges med try-catch, eller erklæres i throws delen af metoden

99 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions Skal fanges med try-catch, eller erklæres i throws delen af metoden Unchecked Exceptions

100 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions Skal fanges med try-catch, eller erklæres i throws delen af metoden Unchecked Exceptions Nedarver fra RuntimeException

101 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions Skal fanges med try-catch, eller erklæres i throws delen af metoden Unchecked Exceptions Nedarver fra RuntimeException Behøver ikke fanges med try-catch

102 Exceptions

103 Checked Exceptions Exceptions

104 Checked Exceptions try-catch Exceptions public class Main {! public static void main( String[] args ) {!! try {!!! Scanner sc = new Scanner( new File( "fil.txt" ) );!! } catch( FileNotFoundException fnfe ) {!!! System.out.println( "Filen blev ikke fundet." );!! }! } }

105 Checked Exceptions try-catch Exceptions public class Main {! public static void main( String[] args ) {!! try {!!! Scanner sc = new Scanner( new File( "fil.txt" ) );!! } catch( FileNotFoundException fnfe ) {!!! System.out.println( "Filen blev ikke fundet." );!! }! } } throws public class Main {! public static void main( String[] args ) throws FileNotFoundException {!!! Scanner sc = new Scanner( new File( "fil.txt" ) );! } }

106 Checked Exceptions try-catch Exceptions public class Main {! public static void main( String[] args ) {!! try {!!! Scanner sc = new Scanner( new File( "fil.txt" ) );!! } catch( FileNotFoundException fnfe ) {!!! System.out.println( "Filen blev ikke fundet." );!! }! } } throws public class Main {! public static void main( String[] args ) throws FileNotFoundException {!!! Scanner sc = new Scanner( new File( "fil.txt" ) );! } }

107 Exceptions

108 Unchecked Exceptions Exceptions

109 Unchecked Exceptions Skal ikke fanges Exceptions

110 Unchecked Exceptions Skal ikke fanges Exceptions public class Main {! public static void main( String[] args ) {!! int d1 = 42, d2 = 0;!! System.out.println( "Result: " + (d1 / d2) );! } }

111 Unchecked Exceptions Skal ikke fanges Exceptions public class Main {! public static void main( String[] args ) {!! int d1 = 42, d2 = 0;!! System.out.println( "Result: " + (d1 / d2) );! } }

112 Exception

113 Lav dine egne exceptions Exception

114 Lav dine egne exceptions Checked Exceptions Exception

115 Lav dine egne exceptions Checked Exceptions Exception public class MyException extends Exception {! public MyException( String str ) {!! super( str );! } }

116 Lav dine egne exceptions Checked Exceptions Exception public class MyException extends Exception {! public MyException( String str ) {!! super( str );! } } public class Main {! public static void main( String[] args ) {!! try {!!! throwanexception();!! } catch( MyException me ) {!!! System.out.println( me );!! }! }! public static void throwanexception() throws MyException {!! System.out.println( "Starting throwanexception" );!! throw new MyException( "Der skete en fejl!" );! } }

117 Lav dine egne exceptions Checked Exceptions Exception public class MyException extends Exception {! public MyException( String str ) {!! super( str );! } } public class Main {! public static void main( String[] args ) {!! try {!!! throwanexception();!! } catch( MyException me ) {!!! System.out.println( me );!! }! }! public static void throwanexception() throws MyException {!! System.out.println( "Starting throwanexception" );!! throw new MyException( "Der skete en fejl!" );! } }

118 Lav dine egne exceptions Checked Exceptions Exception public class MyException extends Exception {! public MyException( String str ) {!! super( str );! } } public class Main {! public static void main( String[] args ) {!! try {!!! throwanexception();!! } catch( MyException me ) {!!! System.out.println( me );!! }! }! public static void throwanexception() throws MyException {!! System.out.println( "Starting throwanexception" );!! throw new MyException( "Der skete en fejl!" );! } }

119 Lav dine egne exceptions Checked Exceptions Exception public class MyException extends Exception {! public MyException( String str ) {!! super( str );! } } public class Main {! public static void main( String[] args ) {!! try {!!! throwanexception();!! } catch( MyException me ) {!!! System.out.println( me );!! }! }! public static void throwanexception() throws MyException {!! System.out.println( "Starting throwanexception" );!! throw new MyException( "Der skete en fejl!" );! } }

120 Exceptions

121 Lav dine egne exceptions Exceptions

122 Lav dine egne exceptions Unchecked Exceptions Exceptions

123 Lav dine egne exceptions Unchecked Exceptions Exceptions public class MyRuntimeException extends RuntimeException {! public MyRuntimeException( String str ) {!! super( str );! } }

124 Lav dine egne exceptions Unchecked Exceptions Exceptions public class MyRuntimeException extends RuntimeException {! public MyRuntimeException( String str ) {!! super( str );! } } public class Main {! public static void main( String[] args ) {!! throwanexception();! }! public static void throwanexception() {!! throw new MyRuntimeException( "Der skete en fejl!" );! } }

125 Programmering

126 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte?

127 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz,...

128 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz,...

129 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz,

130 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz,

131 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode

132 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode Google Summer of Code

133 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode Google Summer of Code Løs et problem for et open source projekt

134 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode Google Summer of Code Løs et problem for et open source projekt Tjen 4500$ hen over sommeren

135 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode Google Summer of Code Løs et problem for et open source projekt Tjen 4500$ hen over sommeren

136 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode Google Summer of Code Løs et problem for et open source projekt Tjen 4500$ hen over sommeren Find dit problem og løs det

137 Tak for go ro og orden... og aktiv deltagelse!

138

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

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

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

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

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

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

Hvordan vælger jeg dokumentprofilen?

Hvordan vælger jeg dokumentprofilen? Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel

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

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

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

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

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

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

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

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

Overblik. Class Loader. Java. Class Libraries. Bytecode. Verifier Java. Source (.java) Just in Time Compiler. Java

Overblik. Class Loader. Java. Class Libraries. Bytecode. Verifier Java. Source (.java) Just in Time Compiler. Java OOP1 Java intro. Klasser, objekter, interfaces, nedarvning, Association, Aggregation og Composition mvh. Try and catch exceptions. Package Intro. til jar filer. Overblik Compile-time Environment Run-time

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

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

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

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

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

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

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

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

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

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

I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller

I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller Upload fil Upload fil skal ses som et alternativ til at indsende tællefiler vedhæftet til mails Upload fil kan være en hurtigere og mere håndholdt måde at få data ind i Mastra på. Man starter med via Gennemse

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

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

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

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

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

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

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

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

O l e 3 1 2. 2 \n I b 1 1 1 1 7 \n. Ole 312.2 Ib 11117 TT_EOF. Ole 312.2. Ib 11117. Overview Tekstfiler, tegn og brikker

O l e 3 1 2. 2 \n I b 1 1 1 1 7 \n. Ole 312.2 Ib 11117 TT_EOF. Ole 312.2. Ib 11117. Overview Tekstfiler, tegn og brikker Programmering 1999 Forelæsning 8, fredag 24. september 1999 Overview Tekstfiler, tegn og brikker StreamTokenizer: indlæsning fra tekstfiler Formateret udskrift Programmering 1999 KVL Side 8-1 Tekstfiler

Læs mere

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM.

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Denne guide er oprindeligt udgivet på Eksperten.dk XML parsning i Java Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Den forudsætter kendskab til Java og XML.

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

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

CodeDOM - Dynamisk generering og kompilering af kode

CodeDOM - Dynamisk generering og kompilering af kode Denne guide er oprindeligt udgivet på Eksperten.dk CodeDOM - Dynamisk generering og kompilering af kode Med CodeDOM kan man på runtime generere kode, kompilere det og derefter afvikle det. I denne artikel

Læs mere

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

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

Læs mere

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

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 MySQL i Java Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 Hvad er MySQL? Det er et database system, som er gratis for os at bruge. Det er lidt mere besværligt i starten at bruge

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

Geografisk lokalisering i JSP

Geografisk lokalisering i JSP Denne guide er oprindeligt udgivet på Eksperten.dk Geografisk lokalisering i JSP Denne artikel forklarer lidt om hvorfor og hvordan man laver geografisk lokalisering og viser noget kode. Der er andre artikler

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

Web- og serverprogrammering

Web- og serverprogrammering Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Web- og serverprogrammering Databasekommunikation - dag 7 Strategier til databaseadgang JDBC (Java DataBase Connectivity)

Læs mere

Vejledning til listings-pakken

Vejledning til listings-pakken Vejledning til listings-pakken Morten Ovi latex@student.dtu.dk / 6. juli 2004 Indhold 1 Om listings-pakken 1 2 Indstilling af listings 2 3 listings-pakken i praksis 2 3.1 listings i teksten............................

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

DM507 Algoritmer og datastrukturer

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

Læs mere

Servlets, Tomcat & BlueJ

Servlets, Tomcat & BlueJ Servlets, Tomcat & BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 05.october 2007 Hvad er Servlets: For at forstå det, må vi først få styr på to begreber, nemlig statiske og dynamiske hjemmesider

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

Løsning af skyline-problemet

Løsning af skyline-problemet Løsning af skyline-problemet Keld Helsgaun RUC, oktober 1999 Efter at have overvejet problemet en stund er min første indskydelse, at jeg kan opnå en løsning ved at tilføje en bygning til den aktuelle

Læs mere

CVS som KS-værktøj E3-104. Branching, Merging m.v.

CVS som KS-værktøj E3-104. Branching, Merging m.v. CVS som KS-værktøj E3-104 Branching, Merging m.v. Gennemgang af Oprettelse af CVS-træ Tilføj filer Commit Fil forskelle Merging Branching Ekstra værktøjer Avanceret Oprettelse af CVS-træ report graphics

Læs mere

9.8 Kildekode. side 88. Pakke Klasse Sidenummer. fortsætter..

9.8 Kildekode. side 88. Pakke Klasse Sidenummer. fortsætter.. 9.8 Kildekode Pakke Klasse Sidenummer db Aktivitetstype 91 Behandler 91 ConnectDB 92 DagensKommentar 93 Helligdag 94 IkkePrimaerTid 94 Patient 96 Patientaftale 96 PatientAktivitet 97 Patientgruppe 98 PatientgruppeItem

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

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

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

DM34-1. Obligatorisk opgave Dilemma spillet. Jacob Aae Mikkelsen 191076 kok04

DM34-1. Obligatorisk opgave Dilemma spillet. Jacob Aae Mikkelsen 191076 kok04 DM34-1. Obligatorisk opgave Dilemma spillet Jacob Aae Mikkelsen 191076 kok04 April 2005 Kapitel 1 Resumé Denne rapport dokumenterer udviklingsforløbet og afprøvningen af et spil Dilemma. Spillet går ud

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

SigmaT.

SigmaT. Java + Groovy Disposition Om SigmaT Eksempel på indlejring af Groovy Overvågning af PEM Ønske om dynamisk loaded Java uden at fifle med classloaderen Groovy til hjælp Opsamling hvad jeg ikke har fortalt

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

Tredjepart webservices

Tredjepart webservices Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output

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

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det.

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Denne guide er oprindeligt udgivet på Eksperten.dk Test med JUnit 3 Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab

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

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

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

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

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

Introduktion til funktioner, moduler og scopes i Python

Introduktion til funktioner, moduler og scopes i Python Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for

Læs mere

Introduktion til AOP i C#

Introduktion til AOP i C# Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til AOP i C# Denne artikel giver en introduktion AOP (Aspect Oriented Programming) i C#. Den forudsætter et pænt kendskab til programmering,

Læs mere

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &. MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig

Læs mere

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 10 DM502 Forelæsning 10 Rekursion Fakultet n! Fibonaccitallene 2. projektopgave Opgaven Formalia Indhold Rekursion Rekursion Prøv at definere en liste af tal uden at bruge ordet liste Rekursion Prøv at definere

Læs mere

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1 Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),

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

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

Rekursion og dynamisk programmering

Rekursion og dynamisk programmering Rekursion og dynamisk programmering Datastrukturer & Algoritmer, Dat C Forelæsning 12/10-2004 Henning Christiansen Rekursion: at en procedure kalder sig selv eller et antal metoder kalder hinanden gensidigt.

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

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

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

Nye features i Java 1.5/5.0

Nye features i Java 1.5/5.0 Denne guide er oprindeligt udgivet på Eksperten.dk Nye features i Java 1.5/5.0 Denne artikel beskriver nye features i Java 1.5/5.0, som lige er kommet i final (ikke-beta) udgave. Den forudsætter et vist

Læs mere

Introduktion til NAnt

Introduktion til NAnt Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til NAnt Denne artikel beskriver NAnt, som er et værktøj til at builde.net applikationer med. Den beskriver nogle af de mest brugte NAnt

Læs mere

Forelæsning Uge 4 Torsdag

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

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

1B fil database. //globale variabler DateTime tid; // erklærer en variabel af typen datetime DateTime dag; // erklærer en variabel af typen datetime

1B fil database. //globale variabler DateTime tid; // erklærer en variabel af typen datetime DateTime dag; // erklærer en variabel af typen datetime 1B fil database using System; //eksterne klasser using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks;

Læs mere

Nye Java XML API'er

Nye Java XML API'er Denne guide er oprindeligt udgivet på Eksperten.dk Nye Java XML API'er Denne artikel beskriver nye XML features i Java 1.6 - StAX og JAXB, samt XStreams. Den forudsætter kendskab til Java og brug

Læs mere

dmasark Aflevering - Uge 50

dmasark Aflevering - Uge 50 dmasark Aflevering - Uge 50 Michael Lind Mortensen, 20071202, DAT4 Michael Dahl, 20073943, DAT4 Katalog: http://www.daimi.au.dk/ u073943/dmasark/uge6/ 13. december 2007 Indhold 1 PingClient implementation

Læs mere

PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections;

PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections; PROGRAM using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace EventManager class Program static void Main(string[] args) string hovedmenu = ""; string svar;

Læs mere

6 7 A A B B C D D C A B A 7 5 B C D C 1 2 D 6

6 7 A A B B C D D C A B A 7 5 B C D C 1 2 D 6 Flyt kasserne - sum 0 Navn: Klasse: Flyt rundt på kasserne, så alle par af tilstødende tal giver summen 0. A B A B C D C D A B A B C D C D Materiale ID: BOX... Flyt kasserne - sum 0 Lærer: Dato: Klasse:

Læs mere

Computer netværk og TCP/IP protokoller. dcomnet 1

Computer netværk og TCP/IP protokoller. dcomnet 1 Computer netværk og TCP/IP protokoller dcomnet 1 Maskinarkitektur.. fokus på intern organisation af en enkelt computer: dcomnet 2 Computer netværk.. kommunikation mellem maskiner forbindet i et netværk:

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

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

DM536. Rapport og debug

DM536. Rapport og debug DM536 Rapport og debug Kilder Vigtig.it (Felix Palludan Hargreaves) http://vigtig.it/dm502/howto_report.pdf http://vigtig.it/blog/teaching/#toc-relevant-tips Peter Schneider-Kamp http://imada.sdu.dk/~petersk/dm536/project2.pdf

Læs mere

Tabeller (I) Tabeller

Tabeller (I) Tabeller Tabeller (I) Klassediagrammer (III) Tabeller og qualified associations Michael R. Hansen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark En tabel fra en mængde A til

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

Kursusarbejde 2 Grundlæggende Programmering

Kursusarbejde 2 Grundlæggende Programmering Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................

Læs mere

Klienten. import java.util.*;

Klienten. import java.util.*; Klienten import java.util.*; * Aktiviteter er et model element, som indeholder blandt andet psimetiks beskrivleser. * @author rling public class Aktivitet extends Beholder implements HarEOgA, HarTilknytning,

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

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