Erste Schritte in Java

Werbung
Erste Schritte in Java
• In diesem Kapitel werden wir an einem kleinen Beispiel wichtige Grundbegriffe der
objektorientierten Programmierung kennenlernen.
• Wir wollen ein Programm schreiben, das in der Lage ist, Bankkonten zu verwalten.
• Ein Konto wird durch einen Wert, den Kontostand, gekennzeichnet.
• Außerdem werden wir Methoden zum Einzahlen und Abheben sowie zur
Kontostandsabfrage programmieren.
2. Erste Schritte in Java
2-1
Klassen- u. Objektdiagramm
Konto
stand: int
void einzahlen(int betrag)
void abheben(int betrag)
int abfrage()
kon1:Konto
kon2:Konto
stand: int = 12
stand: int = -5
2. Erste Schritte in Java
2-2
Abstraktion und Modellbildung
• Die Erstellung eines Algorithmus oder Programms erfordert die Abstraktion von
der Realität. Das heißt, es werden die zur Lösung des Problems uninteressanten
Bestandteile weggelassen.
• Das Ergebnis der Abstraktion ist ein Modell, das dem Computer in geeigneter
Form zur Bearbeitung übergeben wird.
2. Erste Schritte in Java
2-3
Die Klasse Konto
public class Konto {
int stand = 0;
public void einzahlen(int betrag) {
stand = stand + betrag;
}
// Attribut der Klasse
// Methode zum Einzahlen
public void abheben(int betrag) {
stand = stand - betrag;
}
// Methode zum Abheben
public int abfrage() {
return stand;
}
// Methode zur Abfrage
}
2. Erste Schritte in Java
2-4
Die Klasse KontoTest
public class KontoTest {
public static void main(String[] args) {
Konto kon1 = new Konto();
Konto kon2 = new Konto();
kon2.abheben(5);
kon1.einzahlen(12);
kon2.einzahlen(2);
kon1.einzahlen(18);
kon2.einzahlen(8);
kon1.abheben(15);
System.out.println("Kontostand kon1: " + kon1.abfrage());
System.out.println("Kontostand kon2: " + kon2.abfrage());
}
}
2. Erste Schritte in Java
2-5
Abstraktion und Modellbildung
Nennen Sie einige Aspekte, die bei dieser Modellbildung nicht berücksichtigt wurden!
2. Erste Schritte in Java
2-6
Klassen und Objekte
• Unter einer Klasse versteht man die Zusammenfassung von Objekten gleicher
Struktur und gleichen Verhaltens. Die Struktur der Objekte wird durch Attribute,
ihr Verhalten durch Methoden definiert.
• Eine Klasse kann als Schablone gesehen werden, die beschreibt, wie Objekte
aufgebaut und wie sie bearbeitet werden können.
• Es ist guter Stil, aber nicht zwingend erforderlich, jede Klassendefinition in einer
eigenen Datei zu speichern. Die Datei trägt den Namen der Klasse: Konto.java,
KontoTest.java.
2. Erste Schritte in Java
2-7
Methoden und Konstruktoren
• Methoden definieren das Verhalten der Objekte. Sie werden innerhalb einer
Klassendefinition angelegt und haben auf alle Attribute des Objekts Zugriff.
• Methoden können Parameter besitzen und einen Rückgabewert liefern.
• Um von einer Klasse ein Objekt anzulegen, kann eine Variable vom Typ der Klasse
deklariert und ihr mithilfe des new-Operators ein neu erzeugtes Objekt zugewiesen
werden. Es können – zumindest im Prinzip – beliebig viele Objekte angelegt
werden.
• Konstruktoren sind Methoden zum Erzeugen von Objekten einer Klasse. Sie
besitzen den Namen der Klasse.
2. Erste Schritte in Java
2-8
Klassen- u. Objektdiagramm
Klassenname
Attribut1
...
Attributn
Methode1
...
Methodem
2. Erste Schritte in Java
objektname:Klassenname
Attribut1 = . . .
...
Attributn = . . .
2-9
Applikationen und die main-Methode
• Eine Applikation oder auch Anwendung ist ein eigenständiges Programm, das zu
seiner Ausführung nur den Java-Interpreter, aber keinen Browser oder sonstige
Hilfsprogramme benötigt.
• Eine Klasse wird durch eine main-Methode zu einer Applikation.
public static void main(String[] args) {
...
}
• Applets sind ebenfalls lauffähige Java-Programme, werden aber aus einer
Html-Seite heraus aufgerufen und benötigen zur Ausführung einen Web-Browser.
Applets werde nicht durch die main-Methode gestartet.
2. Erste Schritte in Java
2-10
Regeln zur Code-Formatierung
• Untergeordnete Teile werden hier um zwei Leerzeichen eingerückt.
In den Hausaufgaben sollen sie die Teile um vier Leerzeichen einrücken.
• Es steht niemals mehr als ein Befehl in einer Zeile.
• Sich öffnende geschweifte Klammern stehen am Ende des vorangehenden Befehls,
sich schließende in einer eigenen Zeile.
• Klassennamen beginnen mit einem Groß-, Variablen- und Methodennamen mit
einem Kleinbuchstaben. Setzen sich Namen aus mehr als einem Wort zusammen,
fängt jedes weitere mit einem Großbuchstaben an. Paketnamen bestehen nur aus
Kleinbuchstaben.
• Details zur Code-Formatierung stellen wir in den Übungen vor.
2. Erste Schritte in Java
2-11
javadoc – Der Java-Dokumentationsgenerator
• Mit dem Programm javadoc können aus einem Java-Programm Html-Seiten
generiert werden. Dabei wird spezieller Programmkommentar zur Dokumentation
verwendet.
• javadoc Konto.java KontoTest.java
javadoc *.java
• javadoc -version -author *.java
2. Erste Schritte in Java
2-12
Dokumentationskommentare
/**
* Diese Klasse realisert Konten. Jedes Konto wird
* durch den aktuellen Kontostand dargestellt. Außerdem
* werden Methoden zum Einzahlen und Abheben sowie
* zur Kontostandsabfrage zur Verfügung gestellt.
*
* @author Werner Struckmann
* @version 1.0 vom 17. Oktober 1702
*
*/
public class Konto {
...
}
2. Erste Schritte in Java
2-13
Dokumentationskommentare
/**
* Diese Methode erhöht den Betrag auf dem
* Konto um den Wert des Parameters.
*
* @param betrag eingezahlter Betrag
*
*/
public void einzahlen(int betrag) {
stand = stand + betrag;
}
2. Erste Schritte in Java
2-14
Dokumentationskommentare
/**
* Diese Methode liefert den Kontostand.
*
* @return Kontostand
*
*/
public int abfrage() {
return stand;
}
2. Erste Schritte in Java
2-15
Der Algorithmus von Euklid
class Euklid {
static int ggt(int a, int b) {
// eine statische Methode
int r;
// eine lokale Variable
while (b != 0) {
r = a % b;
a = b;
b = r;
}
return a;
}
public static void main(String[] args) {
System.out.println("ggt(36,52) = " + ggt(36,52));
}
}
2. Erste Schritte in Java
2-16
Objektorientierte Programmiersprachen
• Programmiersprachen, die in erster Linie für die Formulierung objektorientierter
Algorithmen gedacht sind, heißen objektorientiert.
• Objektorientierte Programmiersprachen sind beispielsweise Simula (1967),
Smalltalk, C++, Oberon, Java, C# und Eiffel.
• Java enthält – im Gegensatz zu einigen anderen objektorientierten Sprachen – auch
imperative Elemente.
2. Erste Schritte in Java
2-17
Sprachmerkmale
Java wurde vollständig neu entworfen. Die Syntax lehnt sich an C und C++ an.
Laut Sun ist Java eine
einfache, objektorientierte, verteilte, interpretierte, robuste, sichere,
architekturneutrale, portable, performante, nebenläufige, dynamische
Programmiersprache, kurz die „Eier legende Wollmilchsau“.
2. Erste Schritte in Java
2-18
Entwicklung von Java
1992–1995
Jan.
Anfang
Dez.
Jan.
Mai
Februar
Ende
Dezember
Juli
Erwartung: Sommer
1996
1997
1998
1999
2000
2002
2004
2006
2011
2013
Java-Vorläufer, zuerst unter dem Namen „Oak“.
Oak: Object Application Kernel, Eiche.
Neu: Applets (little applications)
JDK 1.0 (Java Development Kit)
JDK 1.1
JDK 1.2, wurde
umbenannt in „Java 2 Plattform“
Java 2, JDK 1.3
Java 2, JDK 1.4
Java 2, JDK 5.0 (interne Versionsnummer: 1.5.0) „Tiger“
Java Standard Edition 6 „Mustang“
Java Standard Edition 7 „Dolphin“
Java Standard Edition 8
Die installierte Version kann mit java -version ermittelt werden.
2. Erste Schritte in Java
2-19
Einige Java-Konzepte
• Nebenläufigkeit (Multithreading),
• strukturierte Fehlerbehandlung (Exception Handling, assertions),
• Unterstützung von Applets,
• große Grafik- und Multimediafähigkeiten,
• umfangreiche Klassenbibliothek.
2. Erste Schritte in Java
2-20
Die Programme des JDK
• javac – der Compiler,
• java – der Interpreter,
• javadoc – der Dokumentationsgenerator,
• jdb – der Debugger,
• jar – das Archivierungswerkzeug,
• appletviewer – der Appletviewer,
• javap – der Disassembler.
2. Erste Schritte in Java
2-21
Zusammenfassung
• Eine Anwendung besteht aus einer Menge von Klassen. Anwendungen müssen eine
main-Methode enthalten.
• Eine Klasse beschreibt Objekte. Die Objekte modellieren reale oder abstrakte
Gegenstände. Von einer Klasse können beliebig viele Objekte erzeugt werden. Ein
Objekt ist also eine konkrete Ausprägung einer Klasse.
• Die Objekte werden durch Attribute beschrieben und mit Methoden bearbeitet.
• Klassen lassen sich durch Pakete hierarchisch strukturieren.
• Mit Modifikatoren können Zugriffsrechte und andere Eigenschaften beeinflusst
werden.
2. Erste Schritte in Java
2-22
Herunterladen