• Keine Ergebnisse gefunden

Erste Schritte in Java

N/A
N/A
Protected

Academic year: 2022

Aktie "Erste Schritte in Java"

Copied!
22
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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)

Klassen- u. Objektdiagramm

Konto stand: int

void einzahlen(int betrag) void abheben(int betrag) int abfrage()

kon1:Konto stand: int = 12

kon2:Konto stand: int = -5

(3)

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.

(4)

Die Klasse Konto

public class Konto {

int stand = 0; // Attribut der Klasse

public void einzahlen(int betrag) { // Methode zum Einzahlen stand = stand + betrag;

}

public void abheben(int betrag) { // Methode zum Abheben stand = stand - betrag;

}

public int abfrage() { // Methode zur Abfrage return stand;

}

(5)

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());

(6)

Abstraktion und Modellbildung

Nennen Sie einige Aspekte, die bei dieser Modellbildung nicht berücksichtigt wurden!

(7)

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.

(8)

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.

(9)

Klassen- u. Objektdiagramm

Klassenname Attribut1

. . .

Attributn Methode1 . . .

Methodem

objektname:Klassenname Attribut1 = . . .

. . .

Attributn = . . .

(10)

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.

(11)

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.

(12)

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

(13)

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 { ...

(14)

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;

}

(15)

Dokumentationskommentare

/**

* Diese Methode liefert den Kontostand.

*

* @return Kontostand

*

*/

public int abfrage() { return stand;

}

(16)

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));

}

(17)

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.

(18)

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“.

(19)

Entwicklung von Java

1992–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, wurde

Jan. 1999 umbenannt in „Java 2 Plattform“

Mai 2000 Java 2, JDK 1.3 Februar 2002 Java 2, JDK 1.4

Ende 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

(20)

Einige Java-Konzepte

• Nebenläufigkeit (Multithreading),

• strukturierte Fehlerbehandlung (Exception Handling, assertions),

• Unterstützung von Applets,

• große Grafik- und Multimediafähigkeiten,

• umfangreiche Klassenbibliothek.

(21)

Die Programme des JDK

• javac – der Compiler,

• java – der Interpreter,

• javadoc – der Dokumentationsgenerator,

• jdb – der Debugger,

• jar – das Archivierungswerkzeug,

• appletviewer – der Appletviewer,

(22)

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.

Referenzen

ÄHNLICHE DOKUMENTE

Eine Reduzierung der Pro- duktionskosten je Kilowattstunde Biogasstrom, wie ursprünglich angedacht, konnte bisher nicht er- reicht werden, da die durchaus vernünftigen Auflagen für

The political decision to limit support for biogas electricity in future through the EEG disregarded the fact that an important and excellent source of renewable energy will

• Wenn die Datei dann im Praat Objects Fenster erscheint, rechts auf View & Edit klicken...

Sollten Sie vor beenden der aktuellen Sitzung jede Gelegenheit verpasst haben den Schlüssel herunterzuladen, wird das System Sie in der nächsten Sitzung noch einmal dazu

Postadresse: Hochschule Anhalt International Office Bernburger Straße 55 06366 Köthen. Besucheradr.: Bernburger Straße 17

Postadresse: Hochschule Anhalt International Office Bernburger Straße 55 06366 Köthen. Besucheradr.: Bernburger Straße 17

Unter Hinweis auf seine Entscheidung Barlis betonte der EuGH nochmals, dass der Vorsteuerabzug nicht verweigert werden dürfe, wenn eine Rechnung nicht alle

[r]