erste schritte in java - tu braunschweig · entwicklungvonjava 1992–1995...
TRANSCRIPT
Erste Schritte in Java
• In diesem Kapitel werden wir an einem kleinen Beispiel wichtige Grundbegriffe derobjektorientierten 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 zurKontostandsabfrage programmieren.
2. Erste Schritte in Java 2-1
Klassen- u. Objektdiagramm
Kontostand: intvoid einzahlen(int betrag)void abheben(int betrag)int abfrage()
kon1:Kontostand: int = 12
kon2:Kontostand: int = -5
2. Erste Schritte in Java 2-2
Abstraktion und Modellbildung
• Die Erstellung eines Algorithmus oder Programms erfordert die Abstraktion vonder Realität. Das heißt, es werden die zur Lösung des Problems uninteressantenBestandteile weggelassen.
• Das Ergebnis der Abstraktion ist ein Modell, das dem Computer in geeigneterForm zur Bearbeitung übergeben wird.
2. Erste Schritte in Java 2-3
Die Klasse Kontopublic class Konto {
int stand = 0; // Attribut der Klassepublic void einzahlen(int betrag) { // Methode zum Einzahlen
stand = stand + betrag;}
public void abheben(int betrag) { // Methode zum Abhebenstand = stand - betrag;
}
public int abfrage() { // Methode zur Abfragereturn stand;
}}
2. Erste Schritte in Java 2-4
Die Klasse KontoTestpublic 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 gleicherStruktur 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 Objekteaufgebaut und wie sie bearbeitet werden können.
• Es ist guter Stil, aber nicht zwingend erforderlich, jede Klassendefinition in einereigenen 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 einerKlassendefinition 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 Klassedeklariert und ihr mithilfe des new-Operators ein neu erzeugtes Objekt zugewiesenwerden. Es können – zumindest im Prinzip – beliebig viele Objekte angelegtwerden.
• Konstruktoren sind Methoden zum Erzeugen von Objekten einer Klasse. Siebesitzen den Namen der Klasse.
2. Erste Schritte in Java 2-8
Klassen- u. Objektdiagramm
KlassennameAttribut1. . .AttributnMethode1. . .Methodem
objektname:KlassennameAttribut1 = . . .. . .Attributn = . . .
2. Erste Schritte in Java 2-9
Applikationen und die main-Methode
• Eine Applikation oder auch Anwendung ist ein eigenständiges Programm, das zuseiner Ausführung nur den Java-Interpreter, aber keinen Browser oder sonstigeHilfsprogramme 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 einerHtml-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 miteinem Kleinbuchstaben. Setzen sich Namen aus mehr als einem Wort zusammen,fängt jedes weitere mit einem Großbuchstaben an. Paketnamen bestehen nur ausKleinbuchstaben.
• 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-Seitengeneriert werden. Dabei wird spezieller Programmkommentar zur Dokumentationverwendet.
• javadoc Konto.java KontoTest.javajavadoc *.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 Euklidclass Euklid {
static int ggt(int a, int b) { // eine statische Methodeint r; // eine lokale Variablewhile (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 objektorientierterAlgorithmen 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 – auchimperative 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 Java1992–1995 Java-Vorläufer, zuerst unter dem Namen „Oak“.
Oak: Object Application Kernel, Eiche.Neu: Applets (little applications)
Jan. 1996 JDK 1.0 (Java Development Kit)Anfang 1997 JDK 1.1
Dez. 1998 JDK 1.2, wurdeJan. 1999 umbenannt in „Java 2 Plattform“Mai 2000 Java 2, JDK 1.3
Februar 2002 Java 2, JDK 1.4Ende 2004 Java 2, JDK 5.0 (interne Versionsnummer: 1.5.0) „Tiger“
Dezember 2006 Java Standard Edition 6 „Mustang“Juli 2011 Java Standard Edition 7 „Dolphin“
Erwartung: Sommer 2013 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 einemain-Methode enthalten.
• Eine Klasse beschreibt Objekte. Die Objekte modellieren reale oder abstrakteGegenstände. Von einer Klasse können beliebig viele Objekte erzeugt werden. EinObjekt 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 beeinflusstwerden.
2. Erste Schritte in Java 2-22