Begreber og Redskaber 4

26
Begreber og Redskaber 4

description

Begreber og Redskaber 4. BRP. Plan for idag. Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer. Håndkøring 1. Application.main args = null i=1 j=3. public class Application{ public static void main(String args[]){ int i,j; - PowerPoint PPT Presentation

Transcript of Begreber og Redskaber 4

Page 1: Begreber og Redskaber 4

Begreber og Redskaber 4

Page 2: Begreber og Redskaber 4

Plan for idag• Om metoder, parametre, returværdier

• Et par ord om objekt-orientering

• Håndkøring af programmer

Page 3: Begreber og Redskaber 4

Håndkøring 1public class Application{

public static void

main(String args[]){

int i,j;

i=1; j=3; •

while(j>0){

i=i*2;

j=j-1;

} } }

Application.main

args = null

i=1

j=3

Page 4: Begreber og Redskaber 4

Håndkøring 1public class Application{

public static void

main(String args[]){

int i,j;

i=1; j=3;

while(j>0){

i=i*2;

j=j-1; •

} } }

Application.main

args = null

i=1 2

j=3 2

Page 5: Begreber og Redskaber 4

Håndkøring 1public class Application{

public static void

main(String args[]){

int i,j;

i=1; j=3;

while(j>0){

i=i*2;

j=j-1; •

} } }

Application.main

args = null

i=1 2 4

j=3 2 1

Page 6: Begreber og Redskaber 4

Håndkøring 1public class Application{

public static void

main(String args[]){

int i,j;

i=1; j=3;

while(j>0){

i=i*2;

j=j-1; •

} } }

Application.main

args = null

i=1 2 4 8

j=3 2 1 0

Page 7: Begreber og Redskaber 4

Metoder i klasser• Klasser kan indeholde metoder - dvs

underprogrammer class A{ int i,j; void udskriv(){ System.out.println(i+”,”+j);}}A a = new A(); a.i=7; a.j=3;a.udskriv();Uddata: 7,3

Page 8: Begreber og Redskaber 4

Virkefelt• Java er blokstruktureret (som Pascal, C...)

• Navne kan genbruges i forskellige blokke

class A{

int i;

void p(){ int i; ...}

}

Klassen har felt i, metoden lokal variabel i

Page 9: Begreber og Redskaber 4

Funktioner• Metoder kan have returværdiclass A{ int i,j; int iogj(){return i+j; }}A a = new A(); a.i=7; a.j=3;System.out.println(a.iogj());}Uddata: 10

Page 10: Begreber og Redskaber 4

Håndkøring 2public class Application{ public static int f(int x,int y){ x++; return x+y+1; } public static void main(String args[]){ int i,j; • i=1; i++; j=f(i,4); } }

Application.main

args = null

i=

j=

Page 11: Begreber og Redskaber 4

Håndkøring 2public class Application{ public static int f(int x,int y){ x++; return x+y+1; } public static void main(String args[]){ int i,j; i=1; i++; • j=f(i,4); } }

Application.main

args = null

i=1 2

j=

Page 12: Begreber og Redskaber 4

Håndkøring 2public class Application{ public static int f(int x,int y){• x++; return x+y+1; } public static void main(String args[]){ int i,j; i=1; i++; j=f(i,4); } }

Application.main

args = null

i=1 2

j=

f

x=2

y=4

Page 13: Begreber og Redskaber 4

Håndkøring 2public class Application{ public static int f(int x,int y){ x++; • return x+y+1; } public static void main(String args[]){ int i,j; i=1; i++; j=f(i,4); } }

Application.main

args = null

i=1 2

j=

f

x=2 3

y=4

Page 14: Begreber og Redskaber 4

Håndkøring 2public class Application{ public static int f(int x,int y){ x++; return x+y+1; } public static void main(String args[]){ int i,j; i=1; i++; j=f(i,4); •} }

Application.main

args = null

i=1 2

j=8

f -> 8

x=2 3

y=4

Page 15: Begreber og Redskaber 4

Eksempel på objekter

class A{ int i,j;}..

A a; //a kan have hægte til obja = new A(); // a peger på obj.a.i = 1; // dot-notation

Page 16: Begreber og Redskaber 4

Oprettelse af objekter

• Hvis felter skal initialiseres under oprettelse kan det ske i en konstruktør

class A{

int i,j;

A(){ i = 0; j = 1; }

}

Page 17: Begreber og Redskaber 4

Oprettelse

• Argumenter til oprettelsen

class A{

int i,j

A(int x, int y){ i=x; j = y;}

}

....

A a = new A(2,3);

Page 18: Begreber og Redskaber 4

Hægter til objekter

• Variable med klasse som type er hægter til objekter – initielt null

class A{ ... }

A a = new A();

A b = a;a

b

A obj.

Page 19: Begreber og Redskaber 4

this refererer til objektet

class A{

private int i;

void setI(int i){this.i=i;}

int getI(){int i=this.i;

return i;}

void addToI(int j){i=i+j;}

}

Page 20: Begreber og Redskaber 4

Håndkøring 3class A{int x;}public class Application{ public static void main(String args[]) {A a,b,t; • a=new A(); b=new A(); a.x=1; b.x=2; t=a; a=b; b=t;}}

Application.main

args = null

a=

b=

t=

Page 21: Begreber og Redskaber 4

Håndkøring 3class A{int x;}public class Application{ public static void main(String args[]) {A a,b,t; a=new A(); • b=new A(); a.x=1; b.x=2; t=a; a=b; b=t;}}

Application.main

args = null

a=

b=

t=

A

X=0

Page 22: Begreber og Redskaber 4

Håndkøring 3class A{int x;}public class Application{ public static void main(String args[]) {A a,b,t; a=new A(); b=new A(); • a.x=1; b.x=2; t=a; a=b; b=t;}}

Application.main

args = null

a=

b=

t=

A

X=0

A

X=0

Page 23: Begreber og Redskaber 4

Håndkøring 3class A{int x;}public class Application{ public static void main(String args[]) {A a,b,t; a=new A(); b=new A(); a.x=1; b.x=2; • t=a; a=b; b=t;}}

Application.main

args = null

a=

b=

t=

A

X=0 1

A

X=0 2

Page 24: Begreber og Redskaber 4

Håndkøring 3class A{int x;}public class Application{ public static void main(String args[]) {A a,b,t; a=new A(); b=new A(); a.x=1; b.x=2; t=a; • a=b; b=t;}}

Application.main

args = null

a=

b=

t=

A

X=0 1

A

X=0 2

Page 25: Begreber og Redskaber 4

Håndkøring 3class A{int x;}public class Application{ public static void main(String args[]) {A a,b,t; a=new A(); b=new A(); a.x=1; b.x=2; t=a; a=b; • b=t;}}

Application.main

args = null

a=

b=

t=

A

X=0 1

A

X=0 2

Page 26: Begreber og Redskaber 4

Håndkøring 3class A{int x;}public class Application{ public static void main(String args[]) {A a,b,t; a=new A(); b=new A(); a.x=1; b.x=2; t=a; a=b; b=t; •}}

Application.main

args = null

a=

b=

t=

A

X=0 1

A

X=0 2