Teil 3 - Java fileArten von Java-Programmen Applikationen: • „normale“ Programme (vergleichbar...

22
1 Teil 3 - Java Grundlagen Klassen, Attribute Methoden

Transcript of Teil 3 - Java fileArten von Java-Programmen Applikationen: • „normale“ Programme (vergleichbar...

1

Teil 3 - Java

GrundlagenKlassen, AttributeMethoden

Grundlagen der Programmierung II DBIS - SS20062 DBIS - SS2006

Java 2 - GeschichteUrsprung:„Green“-Project bei der Firma Sun Microsystems 1991Entwicklung eines Systems mit folgenden Eigenschaften:

• hardwareunabhängig• möglichst klein

Einsatzgebiet: Konsumgeräte, z.B. Umschalter für das Kabelfernsehen basierend auf C++ (objektorientiert) ohne dessen Schwierigkeiten

Name: zuerst OAK (Object Application Kernel), später Java

Durchbruch: Ende 1995, 1998 dann JAVA 2

Grundlagen der Programmierung II DBIS - SS20063 DBIS - SS2006

Java 2 - Varianten• Micro Edition (J2ME) für eingebettete Systeme, PDAs, Smart Phones etc.

• Standard Edition (J2SE)„normales“ JDK

• Enterprise Edition (J2EE)EJBs, Servlets

Ab der Version Java 1.2 spricht man von Java 2!Die zur Zeit neuste Version ist Java 1.5und ist bekannt als Edition 5, ‘Tiger‘-Release.

Online:Die Varianten können heruntergeladen werden unter:http://java.sun.com

Grundlagen der Programmierung II DBIS - SS20064 DBIS - SS2006

Plattformunabhängigkeit von Java

Erinnerung: Übliche Übersetzungsvorgänge bei Programmiersprachen

• Compiler (bei Modula-2, C usw.):

• Interpreter (bei Basic, Lisp usw.):

MODULE p; VAR n,i:INTEGER; BEGIN FOR i:=1 TO n DO n:=n*n; END; END p

Programm (Quellcode)

Compiler

00010110010 11001001001 00001110001 11111000001 10101010100 11001100011 11001100111 11000111001

Maschinencode

Ausführung Ergebnis

10 INPUT n$ 20 FOR i=1 TO 10 30 PRINT “Hi”,n$

40 NEXT Anweisung Nr. i

Interpreterer 00010110010 11001001001

Maschinencode

Ausführung Ergebnis Nr. i

Grundlagen der Programmierung II DBIS - SS20065 DBIS - SS2006

class Dreieck extends GeoObj { double seite,hoehe,alpha; Dreieck(double s, double h, double a) { this.seite=s; this.hoehe=h; this.alpha=a;} double berechneFlaeche() { return 0.5*seite*hoehe);} }

Java Quellcode

JavaCompiler

Java Bytecode (plattform- unabhängig)

Java-Interpreter (i686-CPU)

Java-Interpreter (SPARC)

Java-Interpreter (Power PC)

Ergebnis

Ergebnis

Ergebnis

Vorgehensweise bei Java (Java Virtual Machine)

Plattformunabhängigkeit von Java

Grundlagen der Programmierung II DBIS - SS20066 DBIS - SS2006

Plattformunabhängigkeit von JavaEigenschaften der Java Virtual Machine

• Die Virtuelle Maschine ist eine Art „Universaltranslater“.(vgl. mit Raumschiff Enterprise)

• Der Bytecode ist der „Maschinencode“ der Virtuellen Maschine.von der Virtuellen Maschine direkt ausführbar

• Die Virtuelle Maschine ist für alle gängigen Systeme verfügbar.(Windows, Solaris, Linux usw.)

• Die Virtuelle Maschine ist z.B. auch in WWW-Browsern integriert.Einsatz von sog. „Applets“ möglich.

Grundlagen der Programmierung II DBIS - SS20067 DBIS - SS2006

Arten von Java-Programmen

Applikationen:• „normale“ Programme (vergleichbar mit anderen Sprachen wie Modula-2, C)• eigenständig und ohne Sicherheitseinschränkungen• Eine auszuführende Klasse muss eine main-Methode enthalten• Aufruf durch den Java-Interpreter java

Applets:• Java-Programme für den Einsatz in einem WWW-Browser• Einbettung in eine HTML-Seite durch das <applet>- oder das <object>-Tag• nicht eigenständig• keine main-Methode erforderlich; spezielle Schnittstelle• Sandbox-Prinzip / Sicherheitseinschränkungen

Server-Anwendungen:• Servlets (Java Server Pages), Enterprise Java Beans

Grundlagen der Programmierung II DBIS - SS20068 DBIS - SS2006

Programmstruktur:Klassen, Methoden und VariablenStruktur:class className {

type variablenName = anfangswert ;rückgabeWert methodenName(parameterListe){}

}

Ein erstes Beispiel:class Student {

int semester; int getSemester() {

return semester;}

Grundlagen der Programmierung II DBIS - SS20069 DBIS - SS2006

Objekterzeugung und Methodenaufruf

Objekt student1 erzeugen:Student student1 = new Student();

Methode aufrufen und Rückgabewert speichern:int semanzahl = student1.getSemester();

Konstruktor:Student() { … }

Student(int semester) { … }

Grundlagen der Programmierung II DBIS - SS200610 DBIS - SS2006

Applikationen Erster Schritt: Erstellen einer Klasse Hello (in einem Editor) mit dem Namen „Hello.java“

class Hello {public static void main(String args[]) {

System.out.println(“Hello Students!”);}

}Zweiter Schritt: Compilieren des Quellcodes Aufruf: „javac Hello.java“Ergebnis: autom. Erzeugen des Bytecodes „Hello.class“

Dritter Schritt: Evtl. Ausführen des ProgrammsAufruf: „java Hello“ (Ausgeführt wird immer die main-Methode!)Ausgabe: „Hello Students!“

Grundlagen der Programmierung II DBIS - SS200611 DBIS - SS2006

AppletsBeispiel:

package simpleapplet;

import java.awt.Graphics;

class HelloWorld extends java.applet.Applet {

public void paint (Graphics g) {

g.drawString(“Hallo Welt!”, 10, 10);

}

}

Grundlagen der Programmierung II DBIS - SS200612 DBIS - SS2006

Einbindung des Applet in HTML

<html>

<body>

<applet

codebase = "."

code = "simpleapplet.HelloWorld.class"

width = "400"

height = "300"

>

</applet>

</body>

</html>

Grundlagen der Programmierung II DBIS - SS200613 DBIS - SS2006

Ausführen des Applets

Grundlagen der Programmierung II DBIS - SS200614 DBIS - SS2006

Java EntwicklungsumgebungenEine Entwicklungsumgebung (Integrated DevelopmentEnvironment – IDE) hilft dem Entwickler beim Erstellen und Debuggen von Programmen.

Beispiele für Java Entwicklungsumgebungen:

• Web Sphere von IBM (basiert auf Eclipse)

• JBuilder von Borland

• Sun ONE Studio von Sun Microsystems (ehemals Forte)

• ... und viele mehr!

Grundlagen der Programmierung II DBIS - SS200615 DBIS - SS2006

OpenSource: Eclipse 3.1

Grundlagen der Programmierung II DBIS - SS200616 DBIS - SS2006

Eclipse• Eclipse 3.0 oder 3.1 unter: www.eclipse.org

• PlugIn Omondo für UML www.omondo.de

Grundlagen der Programmierung II DBIS - SS200617 DBIS - SS2006

Java - API - Dokumentationhttp://java.sun.com/j2se/1.5.0/docs/api/

Grundlagen der Programmierung II DBIS - SS200618 DBIS - SS2006

Java – API: Klasse Applet

Grundlagen der Programmierung II DBIS - SS200619 DBIS - SS2006

Java – API: Klasse Applet

Grundlagen der Programmierung II DBIS - SS200620 DBIS - SS2006

Java – API: Klasse Applet

Grundlagen der Programmierung II DBIS - SS200621 DBIS - SS2006

Zugreifbarkeit auf Methoden und Variablen

public

protected

ohne

private

private – nur innerhalb der Klasse sichtbar und somit zugreifbar.

ohne – nur innerhalb des Pakets, das die Deklaration der Klasse enthält (Standardzugriffsrecht).

protected – zugreifbar von Methoden der eigenen Klasse, der davon abgeleitete Klassen und von Klassen im selben Paket.

public – für Methoden aller Klassen zugreifbar (welche die Klasse importieren).

Zugriffsmodifizierer

Grundlagen der Programmierung II DBIS - SS200622 DBIS - SS2006

Literatur zu Java• Java Homepage Sun: http://java.sun.com

• Java API Specification: http://java.sun.com/j2se/1.5.0/docs/api/index.html

• Java Compiler JDK 5.0 und Virtuelle Maschine JRE 5.0:http://java.sun.com/j2se/1.5.0/download.jsp

• Java Tutorial: http://java.sun.com/developer/onlineTraining/new2java/index.html

• Horstmann, Cornell: "Core Java 2, Band 1", Addison-Wesley

• Java News: http://www.onjava.com/

• Reading: „Thinking in Java 3“ von Bruce Eckel !!!