Graphics

advertisement
Hoofdstuk 2
Java
Soorten Java-programma’s
 Java Applet
programma “leeft” op een WWW-pagina
 Java Application
programma heeft een eigen window
 Javascript
Javascript
is geenvan
Java!
programma ondersteunt
opbouw
WWW-pagina’s
Java
versus
 Imperatief
 o.a. Internet-gebaseerd
 Object-georiënteerd
 Gecompileerde bytecode
 Werkt binnen vast kader
 Uitgebreide bibliotheken
van methoden
 Voor programmeurs
Javascript
 Imperatief
 Internet-gebaseerd
 “Slechts” procedureel
 Direct geïnterpreteerd
 Beïnvloedt browser
 Beperkt aantal
ingebouwde methoden
 Voor web-designers
Opbouw broncode
Opdrachten om
het geheugen
te veranderen
Opdrachten zijn
gegroepeerd in
methoden
Methoden zijn
gegroepeerd in
klassen
Soorten opdrachten
 Toekennings -opdracht:
verander het geheugen
 Aanroep van een andere methode:
voer eerst de opdrachten in die methode uit,
en ga daarna verder waar je gebleven was
en dat kunnen zelf ook weer aanroepen
zijn van weer andere methodes...
dus de “waar was ik gebleven” administratie is best ingewikkeld!
Object-oriëntatie
Object:
samenhangend stukje van het geheugen
Object-georiënteerd programmeren:
methodes hebben (meestal) betrekking
op een bepaald object,
dat je bij aanroep moet vermelden
Voorbeeld Java-programma
import java.awt.Graphics;
import java.applet.Applet;
één klasse
...met één
methode
...met één
opdracht
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString(“Hallo!”, 20, 20);
}
}
accolades begrenzen
klasse, resp. methode
Klasse- en methode-header
public:
mag door de
buitenwereld
worden gebruikt
naam:
bedacht door
de programmeur
import java.awt.Graphics;
import java.applet.Applet;
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString(“Hallo!”, 20, 20);
}
}
Opdracht: methode-aanroep
import java.awt.Graphics;
import java.applet.Applet;
opdracht:
aanroep van
een andere
methode
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString(“Hallo!”, 20, 20);
}
}
object waarop
naam van de
altijd
de methode werkt een punt
methode
overige
details
Communicatie met browser
onze klasse is
een uitbreiding
van de libraryklasse Applet
de browser roept de
methode paint aan,
en levert daarbij een
Graphics-object ...
... dat we in de
opdrachten goed
kunnen gebruiken!
import java.awt.Graphics;
import java.applet.Applet;
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString(“Hallo!”, 20, 20);
}
}
Klasse-bibliotheken
library-klassen
mag je
gebruiken ...
als je ze maar
importeert,
met vermelding van
het package waar
ze in zitten
import java.awt
. Graphics;
import java.applet . Applet;
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString(“Hallo!”, 20, 20);
}
}
Methode-header en -aanroep
import java.awt.Graphics;
import java.applet.Applet;
methodeheader
methodeaanroep
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString(“Hallo!”, 20, 20);
}
}
we krijgen
een parameter
we geven
drie parameters
WWW-pagina met Applet
speciale
HTML-tag
<APPLET>
<HTML>
Hier is een <B>simpel</B>
applet: <BR>
<APPLET code = Hallo.class
width = 100
height= 50 >
</APPLET>
</HTML>
bytecode die het resultaat is
van het compileren van Hallo.java
Neerzetten van een Applet
import java.awt.Graphics;
import java.applet.Applet;
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString(“Hallo!”, 20, 20);
}
}
Hallo.java
<HTML>
Hier is een <B>simpel</B>
applet: <BR>
<APPLET code = Hallo.class
width = 100
height= 50 >
</APPLET>
</HTML>
Hallo.html
compiler
Hallo.class
Syntax en semantiek
Syntax:
de vorm van het programma
program
import
package
naam
.
klasse
naam
Semantiek:
wat het programma betekent
;
klasse
definitie
Syntax van klasse-definitie
klasse
definitie
klasse
header
public
private
{
methode
definitie
klasse
header
class
klasse
naam
extends
naam
}
Syntax van methode-definitie
methode
definitie
methode
public
private
header
opdracht
{
methode
header
type
void
methode
naam
(
par-decl
,
)
}
Syntax van opdracht
opdracht
object
.
methode
naam
(
expressie
,
)
;
Voorbeeld Java-programma
import java.awt.Graphics;
import java.applet.Applet;
één klasse
...met één
methode
...met één
opdracht
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString(“Hallo!”, 20, 20);
}
}
Opdracht: methode-aanroep
import java.awt.Graphics;
import java.applet.Applet;
opdracht:
aanroep van
een andere
methode
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString(“Hallo!”, 20, 20);
}
}
object waarop
naam van de
altijd
de methode werkt een punt
methode
overige
details
Methode-header en -aanroep
import java.awt.Graphics;
import java.applet.Applet;
methodeheader
methodeaanroep
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString(“Hallo!”, 20, 20);
}
}
we krijgen
een parameter
we geven
drie parameters
Samenvatting
import java.awt.Graphics;
import java.applet.Applet;
public class Hallo extends Applet
{
public void paint (Graphics g)
{
g.drawString(“Hallo!”, 20, 20);
}
}
Hallo.java
<HTML>
Hier is een <B>simpel</B>
applet: <BR>
<APPLET code = Hallo.class
width = 100
height= 50 >
</APPLET>
</HTML>
Hallo.html
compiler
Hallo.class
Download