Java Schulung Objektorientierte Programmierung in Java Prof. Dr. Nikolaus Wulff
Was ist Java? Java ist eine einfache, objektorientierte, verteilte, interpretierte, robuste, sichere, architekturneutrale, portable, performante, dynamische Programmiersprache. Prof. Dr. Nikolaus Wulff 2
Was ist Java? Cont. Java ist sowohl eine rein objektorientierte Programmiersprache in der Tradition von Smalltalk als auch eine klassische imperative Programmiersprache nach dem Vorbild von C. Die Designer von Java bedienten sich sich beim Entwurf der Syntax großzügig bei C/C++ Entwickler aus diesem Umfeld können schnell umsteigen Im Detail unterscheidet sich Java aber recht deutlich von C++ bestimmte, subtile Fehlerquellen, werden nicht zugelassen Java-Code kann in einem Web-Browser ablaufen Es bedarf keiner speziellen Frontend-Clients mehr Prof. Dr. Nikolaus Wulff 3
Woher kommt Java? Java wurde von Sun Microsystems 1991 zur Software Entwicklung für Verbraucherelektronikgeräte entwickelt. Mit Java wurde das Ziel verfolgt, eine Sprache zu entwickeln, die klein, schnell, und leicht auf vielfältige Hardwaresysteme portierbar ist. Diese Ziel machte aus Java eine ideale Sprache zur Verbreitung ausführbarer Programme über das WWW Entwicklung von Programmen, die bedienungsfreundlich und auf verschiedene Plattformen portierbar sind. Durch die hohe Verbreitung und die vielen Zusatzpakete ist Java die ideale objektorientierte Sprache, sowohl für Desktop- als auch für Webprojekte. Prof. Dr. Nikolaus Wulff 4
Woher kommt Java? Die syntaktische Seite: Java ist eine C/C++ artige Sprache. Java ist jedoch weder eine Ober- noch eine Untermenge von C/C++. Die semantische Seite: Java bricht mit dem traditionellen, prozeduralen Programmierstil. Java unterstützt ausschließlich den objektorientieren Stil und knüpft an Sprachen wie Smalltalk oder Eiffel an. Prof. Dr. Nikolaus Wulff 5
Programmiersprachen 1950 1960 1970 Assembler Cobol Fortran PL/1 Algol BCPL Simula Pascal Lisp 1980 1990 C C++ beta Eiffel Smalltalk-72 CLU Smalltalk-76 Smalltalk Ada Turbo-Pascal Modula2 Oberon Lisp Flavors Lisp CLOS 2000 Java Modula3 C# Prof. Dr. Nikolaus Wulff 6
Vorteile von Java Java ist eine schlanke Sprache: Java ist einfacher als C/C++. Die Konzepte der Objektorientierung müssen jedoch verstanden werden. Java Code ist portabel: Java ist standardisiert. Compilierter Code ist binärkompatibel und läuft auf jeder Plattform mit Java Runtime. Java läuft im Web Browser und kann leicht über das Netz verteilt werden. Prof. Dr. Nikolaus Wulff 7
Nachteile von Java Java Code wird interpretiert: Java Code ist ~10 mal langsamer als C/C++. Dies ändert sich allerdings mit besseren JVM... Java ist eine junge Sprache: Mit jeder Version kommen neue Features GUI-Klassen aus AWT/Swing sind nicht immer und überall stabil. Die Entwicklung der Java Pakete verläuft sehr stürmisch, so dass es leicht ist den Überblick zu verlieren. Prof. Dr. Nikolaus Wulff 8
JDK Versionen Name: enthält JDK 1.0 Vollständige Sprachspezifikation Minimale Sprachbibliothek Applets JDK 1.1 Erweiterung der Standard-Bibliothek Datenbankanbindung ( JDBC ) Java-Beans Neues Event-Modell (Delegation) JDK 1.2 Neue GUI-Komponenten (Swing), Collections Serverseitiges Java (Servlets & Java Serverpages) CORBA-Unterstützung JDK 1.3 Integration verschiedener Frameworks Steigerung der GUI-Performance Seit JDK1.2 nennt sich die Entwicklungsumgegung Java 2 Prof. Dr. Nikolaus Wulff 9
Definition der Objektorientierung Objektorientierte Programmierung ist eine Implementierungsmethode, bei der Programme als kooperierende Ansammlungen von Objekten angeordnet sind. Jedes Objekt stellt eine Instanz einer Klasse da, alle Klassen sind Elemente einer Klassenhierarchie, die durch Vererbungsbeziehungen gekennzeichnet sind. Grady Booch (1994) Prof. Dr. Nikolaus Wulff 10
Der Entwicklungsprozess Source A.java B.java C.java Java Compiler Byte Code A.class B.class C.class Java Runtime Prof. Dr. Nikolaus Wulff 11
Das erste Java Programm Ziel ist es den grundsätzlichen Entwicklungsprozess kennenzulernen. Als Entwicklungsumgebung wird Eclipse verwendet. Der Arbeitsplatz und die Pfade werden einheitlich eingerichtet. Das HelloWorld Programm wird erstellt und ausgeführt. Prof. Dr. Nikolaus Wulff 12
HelloWorld Projekt Eigenen Workspace einrichten:»javaschulung«als Wurzelverzeichnis mkdir c:\javaschulung Eclipse Workspace zuweisen: eclipse.exe -data c:\javaschulung Eclipse Projekt anlegen File New Project Java Project»HelloWorld«Als Quellordner»src«angeben (add Folder) Als Ausgabeordner»bin«akzeptieren Neues Paket»hello«anlegen Neue Klasse»HelloWorld«im Paket»hello«Prof. Dr. Nikolaus Wulff 13
HelloWorld Eclipse Prof. Dr. Nikolaus Wulff 14
HelloWorld.java Eclipse-Workspace \ Projektname \ Source \ Package \ Klasse C:\JavaSchulung\HelloWorld\src\hello\HelloWorld.java package hello; /** * HelloWorld * Das standard Beispiel in Java. * @author nwulff */ public class HelloWorld { } public static void main(string[] args) { System.out.println("Hello World"); } C:\JavaSchulung\HelloWorld\bin\hello\HelloWorld.class Prof. Dr. Nikolaus Wulff 15
Literatur Ken Arnold, James Gosling: Die Java Programmiersprache Addison-Wesley, 1998, ISBN 3-8273-1034-2 [Von den Java Erfindern.] Mari Campione, Kathy Walrath: Das Java Tutorial Addison-Wesley, 1997, ISBN 3-8273-1050-4 [gute Einführung in die wesentlichen Bestandteile von Java] David Flanagan: Java in a Nutshell 2nd Edition, O Reilly, 1997, ISBN 1-56592-262-x. [Der Java-Nachschlage-Klassiker.] James Gosling, Bill Joy, Guy Steele: The Java Language Specification Addison-Wesley, 1996. [Für die, die es genau wissen wollen.] Prof. Dr. Nikolaus Wulff 16