overlæsning, klassefelter og -metoder (static), konstante felter

matfys.kvl.dk

overlæsning, klassefelter og -metoder (static), konstante felter

Datamatens hukommelse ved kørsel af TestTaltPerson

Class TaltPerson

antalPersoner 0 1

2 3

getAntalPersoner

: TaltPerson

fornavne

efternavn

nummer 1

setFornavne

setEfternavn

getFornavne

getEfternavn

toString

: TaltPerson

fornavne

efternavn

nummer 3

setFornavne

setEfternavn

getFornavne

getEfternavn

toString

: String

"Georg"

: String

"Brandes"

: String

"Dan"

: String

"Turell"

georg

dan

: TaltPerson

fornavne

efternavn

nummer 2

setFornavne

setEfternavn

getFornavne

getEfternavn

toString

: String

"Tove"

: String

tove

"Ditlevsen"

Programmering 2004 KVL Side 3-13

Betingede ordrer: if-else

Programmer skal kunne vælge mellem forskellige alternativer.

Generelt format for if-else ordre:

if (udtryk)

ordre1

else

ordre2

Betingelsen udtryk skal have en værdi af typen boolean, dvs.true eller false.

Virkning:

1. Beregn værdien af udtryk,

2. hvis true så udfør ordre1, ellers udfør ordre2.

Dvs. at if-else vælger mellem to ordrer, afhængigt af udtryk.

Programmering 2004 KVL Side 3-14

Eksempel med if-else:

En klasse til at repræsentere karakterer efter 13-skalaen:

public class Karakter {

public final int tal; // karakterens talværdi, 0 til 13

}

public Karakter(int tal) {

this.tal=tal;

}

public String toString() {

if (tal < 5)

return "0" + tal;

else

return "" + tal;

}

public boolean erBestaaet() {

return tal >= 6;

}

public String resultat() {

if ( erBestaaet() )

return "bestået";

else

return "dumpet";

}

Programmering 2004 KVL Side 3-15

Brug af Karakter klassen:

public class TestKarakter1 {

}

static void udskrivResultat(Karakter k) {

System.out.println("Med " + k + " er man " + k.resultat());

}

public static void main(String [] args) {

udskrivResultat( new Karakter(5) );

udskrivResultat( new Karakter(6) );

udskrivResultat( new Karakter(10) );

udskrivResultat( new Karakter(3) );

}

Programmering 2004 KVL Side 3-16

More magazines by this user
Similar magazines