EF-III-A3 Aufbau eines JAVA-Programms Seite 1 von 3 „Java ist auch eine Insel…“ – Aufbau eines Java Programms Definition „Java“ Java ist eine sehr weit verbreitete, objektorientierte Programmiersprache die 1995 von SUN entwickelt wurde und aktuell Oracle gehört, jedoch unter der GNU General Public License veröffentlicht wird. Java ist, durch Virtualisierung, plattformunabhängig und kann auf jedem PC ausgeführt werden, auf welchem die Java Laufzeitumgebung (JRE – Java Runtime Environment) installiert ist. Auch in Autos, HiFi-Anlagen und anderen Systemen wird Abbildung 1 Duke, das JAVAMaskottchen Java verwendet. http://upload.wikimedia.org/wikipedi a/commons/thumb/4/40/Wave.svg/6 6px-Wave.svg.png Aufbau einer JAVA-Klasse Eine Klasse die, z. B. in Form eines Klassendiagramms, bereits entwickelt wurde kann auch in Java übertragen werden. Ein Java-Programm besteht also aus vielen verschiedenen Klassen (zur Laufzeit: Objekte) die miteinander Kommunizieren können – ganz im Sinne der Objektorientierung. Unten abgebildet siehst du den Java-Code der Klasse „Hund“ aus der letzten Stunde. Dabei ist die eigentliche „Logik“ der verschiedenen Methoden noch nicht ausprogrammiert. An ihrer Stelle stehen nur Kommentare, die umgangssprachlich beschreiben, was die Methode leisten soll. Kommentare können auch genutzt werden, um den Quellcode besser zu dokumentieren, damit man auch nach einem halben Jahr noch weiß, was man eigentlich programmiert hat. In dieser Klasse „Hund“ wurden beispielsweise verschiedene Kommentare genutzt, um den Quellcode zu strukturieren. So ist sowohl für den Programmierer als auch für jemanden, der den Code zum ersten Mal sieht, sofort klar an welcher Stelle welche Teile der Klasse programmiert wurden. Diese Art der Dokumentation ist zwar aufwendig, bietet aber insbesondere bei komplexeren Programmeinen einen unschätzbaren Mehrwert! Das Einfärben des Quelltextes, welches ebenfalls der besseren Übersicht dient, übernimmt dabei später automatisch die integrierte Entwicklungsumgebung (IDE = integrated develpment environment). In unserem Falle wird dies „eclipse“ sein. Die goldenen Regeln für gutes Programmieren 1. 2. 3. 4. Benutze maximal einen Befehl pro Zeile. Verwende für Attribute, Methoden und Klassen sinnvolle Namen. Nutze Kommentare um deinen Quellcode zu strukturieren und dokumentieren. Benutze eine sinnvolle und einheitliche „Ein gutes Programm hat ein sauberes Layout, Einrückung. verwendet sinnvolle Namen, ist ausführlich 5. Trenne Programmteile (z.B. verschiedene kommentiert und verwendet Konstrukte der Methoden) durch Leerzeilen und/oder Sprache derart, dass maximale Robustheit und Kommentare. Lesbarkeit des Programms erreicht werden. 6. Halte dich an gängige Konventionen. Die Erstellung eines solchen Programms erfordert vom Programmierer Sorgfalt, Disziplin und ein gutes Stück handwerklichen Stolz.“ Ian Sommerville, „Software Engineering“, AddisonWesley 1987 EF-III-A3 Aufbau eines JAVA-Programms Seite 2 von 3 Aufgabe Übersetze eines deiner Klassendiagramme aus der Hausaufgabe von Arbeitsblatt EF-III-AB1 manuell (ins Heft) in Java-Quellcode. Verwende dabei verschiedene Farben und nutze Kommentare, analog zum Beispiel auf diesem Arbeitsblatt, um den Quellcode sauber zu strukturieren. Beachte dabei die „Goldenen Regeln der Programmierung“. public class Hund { //======================================================================== // OBJEKTE DER KLASSE //======================================================================== //Hier werden alle Objekte die zu dieser Klasse gehören deklariert. //======================================================================== // ATTRIBUTE DER KLASSE //======================================================================== //Hier werden alle Attribute der Klasse deklariert. private String art; private int gewicht; private boolean weiblich; private String farbe; private int alter; //======================================================================== // KONSTRUKTOREN //======================================================================== /*Hier stehen alle Kontruktoren der Klasse. Konstrukturen werden aufgerufen, wenn ein Objekt vom Typ dieser Klasse erzeugt werden soll. Dadurch wird der "Bauplan" quasi ausgeführt und ein konkretes Objekt erzeugt*/ public Hund(String pArt, int pGewicht, boolean pGeschlecht, String pFarbe, int pAlter) { this.setArt(pArt); this.setGewicht(pGewicht); this.setWeiblich(pGeschlecht); this.setFarbe(pFarbe); this.setAlter(pAlter); } //======================================================================== // METHODEN & DIENSTE: ANFRAGEN (ohne Getter) //======================================================================== /*Diese Klasse verfügt über keine Anfragen die kein Getter sind. Also * muss an dieser Stelle nichts programmiert werden.*/ //======================================================================== // METHODEN & DIENSTE: AUFTRÄGE (ohne Setter) //======================================================================== public void belle(){ //Hier muss das Bellen programmiert werden. } public void laufe(){ //Hier muss das Laufen programmiert werden. } public void sitze(){ //Hier muss das Sitzen programmiert werden. } public void liege(){ //Hier muss das Liegen programmiert werden. } (weiter auf nächster Seite) EF-III-A3 Aufbau eines JAVA-Programms Seite 3 von 3 //======================================================================== // METHODEN & DIENSTE: GETTER //======================================================================== private void setArt(String art) { this.art = art; } public String getArt() { return art; } public int getGewicht() { return gewicht; } public boolean isWeiblich() { return weiblich; } public String getFarbe() { return farbe; } public int getAlter() { return alter; } //======================================================================== // METHODEN & DIENSTE: SETTER //======================================================================== private void setGewicht(int gewicht) { this.gewicht = gewicht; } private void setWeiblich(boolean weiblich) { this.weiblich = weiblich; } private void setFarbe(String farbe) { this.farbe = farbe; } private void setAlter(int alter) { this.alter = alter; } }//Ende der Klasse Hund Ein Hinweis zum Schluss Wenn es bei der Java-Programmierung später einmal haken sollte, so gibt es im Internet unzählige Seite die sich mit der Java-Programmierung beschäftigt. Der Titel dieses Arbeitsblattes („Java ist auch eine Insel“) ist ebenfalls der Titel eines Java-Leitfadens von Christian Ullenboom. Das vollständige Buch ist über Galileocomputing als Openbook frei abrufbar und sollte einen festen Platz in den Lesezeichen eures Webbrowsers erhalten: http://openbook.galileocomputing.de/javainsel/