PowerPoint-presentatie

advertisement
H 1. KENNISMAKING MET JAVA EN DE
ONTWIKKELOMGEVINGEN
1.
ONTSTAANSGESCHIEDENIS VAN JAVA
Java: ontworpen in 1990
door Sun Microsystems
voor de programmering van elektronische
apparatuur.
Voor 1995 had bijna niemand ervan gehoord.
JAVA
1
H 1. KENNISMAKING MET JAVA EN DE
ONTWIKKELOMGEVINGEN
1.
ONTSTAANSGESCHIEDENIS VAN JAVA
(vervolg)
Java (OAK) is in 1990 ontworpen voor de programmering van allerlei
intelligente elektronische gebruikersapparatuur.
Elektronische apparatuur bevat chips.
Een chip kan
-> gegevens onthouden
-> een reeks van instructies automatisch uitvoeren = programma
Een programma wordt uitgevoerd door een andere chip, de processor.
Probleem : begrijpt enkel zijn eigen specifieke machinecode! ->
onleesbaar voor de mens (0 en 1)
JAVA
2
H 1. KENNISMAKING MET JAVA EN DE
ONTWIKKELOMGEVINGEN
1.
ONTSTAANSGESCHIEDENIS VAN JAVA
(vervolg)
Oplossing:
programma schrijven in een hogere programmeertaal
(Cobol, Java, Pascal, …)
-> een compiler (vertaler) zal het programma omzetten naar
een specifieke machinecode
Probleem:
het programma is platformafhankelijk (= combinatie van
een bepaald type processor met een bepaald
besturingssysteem)
JAVA
3
H 1. KENNISMAKING MET JAVA EN DE
ONTWIKKELOMGEVINGEN
1.
ONTSTAANSGESCHIEDENIS VAN JAVA
(vervolg)
Oplossing: Java
1. Elk Java-programma wordt door een compiler vertaald naar een soort
TUSSENTAAL (=JAVA-bytecode), die betrekkelijk dicht tegen
machinecode aanleunt.
2. De tussentaal wordt begrijpelijk gemaakt voor een specifieke processor,
door deze van een programma te voorzien (=JAVA VIRTUAL
MACHINE).
Een JVM is een tamelijk klein programma (256 Kb), vermits het
vertalen niet zo’n grote klus is.
 JAVA is platformonafhankelijk!
JAVA
4
2. APPLICATIE EN APPLET
2.1 Er bestaan twee soorten Java-programma’s:
Applicatie:
• een applicatie is een Java-programma, cfr.
programma’s in C++ (vb. Word, tekenprogramma,…)
• wordt bewaard en uitgevoerd op lokale PC
• uitvoerbaar mits JVM, geen webbrowser nodig
• kan bestanden op schijf maken, lezen en
verwijderen
JAVA
5
2. APPLICATIE EN APPLET
2.1 Er bestaan twee soorten Java-programma’s:
Applet:
• maakt deel uit van een webpagina en zorgt voor
de interactiviteit van de pagina -> wordt meestal
bewaard op een PC op afstand
• uitvoerbaar mits webbrowser ( + JVM) of appletviewer
• bijna geen bestandsverwerking of netwerktoepassingen mogelijk (werkt in een beveiligde
omgeving)
JAVA
6
2.2 APPLICATIE - voorbeeld
import java.lang.*; //mag weggelaten worden, want wordt automatisch
// geïmporteerd
public class Som [extends Object]
{ public static void main( String[] args)
{
int x = 2, y = 3, som;
som = x * x + y * y;
System.out.println("Som = "+ som);
}
}
JAVA
7
UITVOERING APPLICATIE
JAVA
8
2.3 APPLET - voorbeeld
import java.awt.Graphics;
import javax.swing.JApplet;
public class Applet1 extends JApplet
{
private Font f = new Font(“TimesRoman”,Font.BOLD,36);
public void paint(Graphics g)
{
super.paint(g);
g.setFont(f);
g.setColor(Color.red);
g.drawString(“Een bijzonder eenvoudige applet”,20,150);
}
}
JAVA
9
UITVOERING APPLET
JAVA
10
2.4 DE 5 FASEN-APPLICATIE
Schematisch:
Java-programma
(Som.java)
compiler
Compilatie
Java byte-code
(Som.class)
Internet
interpreter
verwerking
Java byte-code
verificatie
JAVA
(Som.class)
11
DE 5 FASEN-APPLICATIE
1. Met een editor het java-programma intypen en bewaren met extensie .java
-> Som.java
2. Het programma compileren met het commando javac. Het resultaat is een
file met extensie .class (= bytecode).
-> javac Som.java geeft Som.class
3.
Het programma (de .class-file) wordt geladen in het geheugen.
4. De bytecode wordt geverifieerd (belangrijk wanneer we klassen gebruiken
van het net, die mogelijk virussen bevatten).
5. Het programma wordt uitgevoerd, door gebruik te maken van de
Java-vertaler, via het commando java
-> java Som
JAVA
12
2.5 DE 5 FASEN - APPLET
Schematisch:
Computer die bezocht wordt
Java-programma
(Applet1.java)
compiler
Compilatie
Java byte-code
(Applet1.class)
Internet
Uw computer
Java virtuele machine
Java byte-code
(Applet1.class)
interpreter
verificatie
verwerking
JAVA
Browser omgeving
13
DE 5 FASEN-APPLET
1. Met een editor de java-applet intypen en bewaren met extensie .java
-> Applet1.java
2. De applet compileren met het commando javac. Het resultaat is een
file met extensie .class (= bytecode).
-> javac Applet1.java geeft Applet1.class
3. De applet (de class-file) bevindt zich normaal op een computer op
afstand en gebruikers hebben er toegang tot via het World Wide
Web. Een HTML - document verwijst naar een Java-applet (zie dia
16) en deze wordt vervolgens gedownload op uw eigen PC. De applet
wordt uit dezelfde directory gehaald als waar de HTML-file in zit.
JAVA
14
DE 5 FASEN-APPLET (vervolg)
4. Voor de applet wordt uitgevoerd, wordt de bytecode
geverifieerd op afwijkende code, gevaarlijke handelingen of
virussen.
5. De applet wordt uitgevoerd, door de vertaler die in de
browser ingebouwd moet zijn of vanaf de commando-lijn
met de zgn. appletviewer = applet container:
-> appletviewer Applet1.html
De appletviewer is een minimale browser, die enkel de
referentie naar de applet kan interpreteren (<applet>- en
</applet>-tag) en de rest van het HTML-document
negeert!
JAVA
15
HTML-CODE : Applet1.html
<HTML>
<HEAD>
<TITLE> Eerste voorbeeld </TITLE>
</HEAD>
<BODY>
<APPLET CODE= “Applet1.class” WIDTH= “426“
HEIGHT= “266“> </APPLET>
</BODY>
</HTML>
JAVA
16
2.6 HET JAVA PLATFORM
Applet1.class
Java API
Java Virtual Machine
Operating system + Hardware
JAVA
17
3.
ONTWERPDOELEN (1)
JAVA
• is eenvoudiger dan C++
• heeft een automatische garbage collection
• is klein
• is object georiënteerd
• is betrouwbaar
JAVA
18
ONTWERPDOELEN (2)
JAVA
• is veilig
• is architectuurneutraal
• is portable
• heeft een goede performance
• is multithreaded
JAVA
19
4. WAT HEB JE NODIG ?
o
o
o
o
een
een
een
een
editor, bijv. Notepad of Wordpad
compiler
JVM
browser of applet-viewer
Compiler + JVM = JAVA DEVELOPMENT KIT (JDK) of JAVA 2
Software Development Kit (Java 2 SDK)
(www.sun.com)
Sinds 1995 zijn er verschillende versies van JDK verschenen:
versie 1.0, versie 1.1, versie 1.2, versie 1.3, versie 1.4
Elke versie kan weer subversies hebben.
De versies vanaf versie 1.2 worden ook aangeduid met het Java 2
platform.
JAVA
20
4. WAT HEB JE NODIG ? (vervolg)
Bouwen we een volledige omgeving rond de programmeertaal,
zodat de ontwikkelingstijd nodig voor het schrijven van een
programma sterk wordt gereduceerd, dan verkrijgen we een
zogenaamde geïntegreerde ontwikkelomgeving,
Integrated Development Environment of IDE.
Veel gebruikte IDE: JBuilder (www.borland.com), Forte
(www.sun.com), Eclips, TogetherSoft, ….
JAVA
21
5. BASISELEMENTEN VAN JAVA

Objecten.
zijn weerspiegelingen van "dingen"
uit de werkelijkheid.
Voorbeeld : auto's
JAVA
22
5. BASISELEMENTEN VAN JAVA - OBJECTEN
MODEL
ABSTRACTIE
Object
Toestand
Kleur
Merk
Type
Nrplaat
Chassisnummer
Gedrag
Rijden
Remmen
Toeteren
JAVA
ATTRIBUTEN/
EIGENSCHAPPEN
METHODEN
23
5. BASISELEMENTEN VAN JAVA

Klassen.
Gelijksoortige objecten met
hetzelfde gedrag en gelijksoortige
attributen worden gedefinieerd door
een klasse(=mal-abstract).
JAVA
24
5. BASISELEMENTEN VAN JAVA - KLASSEN
ABSTRACTIE
Klasse Auto
Toestand
Kleur
Merk
Type
Nrplaat
Chassisnummer
Gedrag
Rijden
Remmen
Toeteren
JAVA
25
5. BASISELEMENTEN VAN JAVA

Instanties van een klasse.
Object=concreet
Aanmaken van een nieuwe instantie
gebeurt door het aanroepen van de
constructor.
JAVA
26
5. BASISELEMENTEN VAN JAVA - INSTANTIES
Klasse Auto
Toestand
Kleur
Merk
Type
Nrplaat
Chassisnummer
Gedrag
Rijden
Remmen
Toeteren
Object 1
Toestand
Kleur : Blauw
Merk : Opel
Type : Vectra
Nrplaat : ARJ775
Chassisnummer :
Gedrag
...
INSTANTIES
Object 2
Toestand
Kleur : Rood
Merk : Ford
Type : Focus
Nrplaat : CVX779
Chassisnummer :
Gedrag
...
JAVA
Object 3
Toestand
Kleur : Geel
Merk : Renault
Type : Berline
Nrplaat : BXR824
Chassisnummer :
Gedrag
...
27
5. BASISELEMENTEN VAN JAVA

Refereren naar objecten.
(Referentie-)variabelen laten toe om
het object te identificeren.
JAVA
28
5. BASISELEMENTEN VAN JAVA - REFERENTIEVARIABELEN
mijnAuto
opa'sAuto
jufsAuto
Object 1
Toestand
Kleur : Blauw
Merk : Opel
Type : Vectra
Nrplaat : ARJ775
Chassisnummer :
Gedrag
...
Object 2
Toestand
Kleur : Rood
Merk : Ford
Type : Focus
Nrplaat :
CVX779
Chassisnummer :
Gedrag
...
Object 3
Toestand
Kleur : Geel
Merk : Renault
Type : Berline
Nrplaat :
BXR824
Chassisnummer :
Gedrag
...
Het object mijnAuto = het object waarnaar de
(referentie)variabele mijnAuto naar refereert.
Vb. : mijnAuto.Toeteren, opa'sAuto.Remmen
JAVA
29
5. BASISELEMENTEN VAN JAVA

Methodes
Objecten communiceren via
berichten (messages). Een bericht
activeert de overeenkomstige
methode(s).
JAVA
30
5. BASISELEMENTEN VAN JAVA - METHODES
Object 2
Toestand
Kleur : Rood
Merk : Ford
Type : Focus
Nrplaat :
CVX779
Chassisnummer
:
Gedrag
Rijden
Remmen
Toeteren
...
Remmen
JAVA
31
5. BASISELEMENTEN VAN JAVA

Een object-georiënteerd programma.
Een programma = opeenvolging van
opdrachten/instructies.
Een OO-programma is een
opeenvolging van berichten.
JAVA
32
6. DEMO BlueJ
JAVA
33
Download