Hoofdstuk 2 Java
Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript programma ondersteunt opbouw van WWW-pagina’s Javascript is geen Java!
Java versusJavascript nImperatief no.a. Internet-gebaseerd nObject-georiënteerd nGecompileerde bytecode nWerkt binnen vast kader nUitgebreide bibliotheken van methoden nVoor programmeurs n Imperatief n Internet-gebaseerd n “Slechts” procedureel n Direct geïnterpreteerd n Beïnvloedt browser n Beperkt aantal ingebouwde methoden n Voor web-designers
Opbouw broncode nOpdrachten om het geheugen te veranderen nOpdrachten zijn gegroepeerd in methoden nMethoden zijn gegroepeerd in klassen
en dat kunnen zelf ook weer aanroepen zijn van weer andere methodes... dus de “waar was ik gebleven” administratie is best ingewikkeld! Soorten opdrachten nToekennings -opdracht: verander het geheugen nAanroep van een andere methode: voer eerst de opdrachten in die methode uit, en ga daarna verder waar je gebleven was
Object-oriëntatie nObject: samenhangend stukje van het geheugen nObject-georiënteerd programmeren: methodes hebben (meestal) betrekking op een bepaald object, dat je bij aanroep moet vermelden
Voorbeeld Java-programma één klasse...met één methode...met één opdracht accolades begrenzen klasse, resp. methode import java.awt.Graphics; import java.applet.Applet; public class Hallo extends Applet { public void paint (Graphics g) { g.drawString(“Hallo!”, 20, 20); }
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 opdracht: aanroep van een andere methode naam van de methode altijd een punt overige details import java.awt.Graphics; import java.applet.Applet; public class Hallo extends Applet { public void paint (Graphics g) { g.drawString(“Hallo!”, 20, 20); } object waarop de methode werkt
Communicatie met browser onze klasse is een uitbreiding van de library- klasse Applet... dat we in de opdrachten goed kunnen gebruiken! de browser roept de methode paint aan, en levert daarbij een Graphics-object... 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); }
we krijgen een parameter Methode-header en -aanroep we geven drie parameters methode- header methode- aanroep import java.awt.Graphics; import java.applet.Applet; public class Hallo extends Applet { public void paint (Graphics g) { g.drawString(“Hallo!”, 20, 20); }
WWW-pagina met Applet speciale HTML-tag bytecode die het resultaat is van het compileren van Hallo.java Hier is een simpel applet:
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 Hier is een simpel applet: Hallo.html compiler Hallo.class
Syntax en semantiek nSyntax: de vorm van het programma nSemantiek: wat het programma betekent program import package naam. klasse naam ; klasse definitie
Syntax van klasse-definitie klasse header klasse naam class extendsnaam }{ klasse definitie public private klasse header methode definitie
Syntax van methode-definitie }{ methode definitie public private methode header opdracht methode header (), par-decl methode naam type void
Syntax van opdracht opdracht object.(), ;expressie methode naam
Voorbeeld Java-programma één klasse...met één methode...met één opdracht 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 opdracht: aanroep van een andere methode naam van de methode altijd een punt overige details import java.awt.Graphics; import java.applet.Applet; public class Hallo extends Applet { public void paint (Graphics g) { g.drawString(“Hallo!”, 20, 20); } object waarop de methode werkt
we krijgen een parameter Methode-header en -aanroep we geven drie parameters methode- header methode- aanroep import java.awt.Graphics; import java.applet.Applet; public class Hallo extends Applet { public void paint (Graphics g) { g.drawString(“Hallo!”, 20, 20); }
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 Hier is een simpel applet: Hallo.html compiler Hallo.class