DVG2 - 06 - Klassenhierarchie Klassenhierarchie. DVG2 - 06 - Klassenhierarchie 2 Klassenhierarchie Durch die Ableitung jeder Klasse aus genau einer Elternklasse.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Objektorientierte Programmierung
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Zusammenfassung der Vorwoche
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
der Universität Oldenburg
3 Sprachelemente und Anweisungen JavaHS Merseburg (FH) WS 06/07 Strings (Zeichenketten)
Ausnahmen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Listen Richard Göbel.
Indirekte Adressierung
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
Konstruktoren.
Objekte und Arbeitsspeicher
Exceptions. import java.sql.*; public class MyException{ boolean b; Statement stat; public MyException(){ b = stat.execute("xyz"); } Beim Übersetzen dieses.
Objektorientierte Programmierung JDK-Klassenbibliothek
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Programmieren mit JAVA
Programmieren mit JAVA
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Zusammenfassung Vorwoche
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
DVG Ausnahmen. DVG Was sind Programmfehler? 4 Programm erzielt gar kein Ergebnis. 4 Berechnetes Ergebnis stimmt nicht mit dem erwarteten.
DVG Klassenhierarchie. DVG Klassenhierarchie 4 Durch die Ableitung jeder Klasse aus genau einer Elternklasse entsteht eine Baumstruktur.
DVG Dateien. DVG Die Klasse File Die Klasse File stellt die Verbindung zwischen dem File-System des Rechners und dem JAVA-Programm her.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Ausnahmen1 Ausnahmen. DVG Ausnahmen 2 Was sind Programmfehler? Programm erzielt gar kein Ergebnis. Berechnetes Ergebnis stimmt nicht.
DVG Einführung in Java1 Einführung in JAVA.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Datenströme DVG Datenströme.
05 - Reflection Das Reflection API Reflection2 Ziel Es kommt vor, dass eine Methode ein Objekt als Parameter übergeben bekommt, ohne dass bekannt.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Kontrollstrukturen Verwendung: Steuerung des Ablaufs.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Die Klasse String und ihre Methoden
Reinhard Stumptner Seminar Softwareentwicklung Dynamisches Laden und Binden in Java.
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Verarbeitung von Char, Strings und Zeichenketten 2.
Programmiervorkurs WS 2014 Referenzdatentypen
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Robuste Programme durch Ausnahmebehandlung
Übersicht Nachtrag zu Ausdrücken
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Dr. Wolfram Amme, Generisches Programmieren, Informatik II, FSU Jena, SS Generisches Programmieren.
Konstruktoren.
1. Die rekursive Datenstruktur Liste 1
 Präsentation transkript:

DVG Klassenhierarchie Klassenhierarchie

DVG Klassenhierarchie 2 Klassenhierarchie Durch die Ableitung jeder Klasse aus genau einer Elternklasse entsteht eine Baumstruktur. Jede Klasse (außer Object ) hat genau eine Elternklasse und keine, eine oder mehrere Kinderklassen. Falls bei der Definition einer Klasse keine extends -Klausel angegeben wird wird implizit extends Object angenommen.

DVG Klassenhierarchie 3 Klassenhierarchie (kleiner Ausschnitt) ThrowableCharacterNumberBooleanString ErrorException ByteShortIntegerLongFloatDoubleBigIntegerBigDecimal MathSystem Object

DVG Klassenhierarchie 4 Die Klasse Object Die Klasse Object ist die einzige Klasse, die von keiner Klasse abgeleitet ist. Jede Klasse die nicht explizit von einer anderen Klasse abgeleitet ist, wird von Object abgeleitet. Alle Klassen erben die Attribute und Methoden von Object. Einige werden von den meisten abgeleiteten Methoden überschrieben.

DVG Klassenhierarchie 5 Methoden der Klasse Object protected Object clone() Erzeugt eine identische Kopie des Objects. –Es muß das Interface Cloneable implementiert werden! –Es werden nur die Attribute selbst kopiert nicht die Objekte auf die diese evtl. referieren! –Kein Konstruktor wird aufgerufen! boolean equals(Object obj) Testet ob das Objekt identisch zu dem anderen ist. Dabei wird nur die Referenz verglichen, nicht der Inhalt. protected void finalize() Wird von der Garbage-Collection aufgerufen, wenn keine Referenz mehr auf das Objekt existiert. int hashCode() Berechnet einen hash-Code für das Objekt. String toString() Erzeugt eine Zeichenketten-Repräsentation des Objektes.

DVG Klassenhierarchie 6 Methoden für Parallel-Verarbeitung Class getClass() erzeugt ein Objekt, das einzig für alle Objekte der Klasse ist void notify() weckt einen schlafenden Prozess void notifyAll() weckt alle schlafenden Prozesse void wait() schläfert den aktuellen Prozess ein void wait(long timeout) schläfert den aktuellen Prozess für timeout Millisekunden ein void wait(long timeout, int nanos) schläfert den aktuellen Prozess für timeout Millisekunden + nanos Nanosekunden ein Klassenhierarchie

DVG Klassenhierarchie 7 Die Klasse System Die Klasse enthält wichtige Attribute und Methoden als Schnittstelle zum System. Die Klasse System ist nicht instanziierbar! public final class System { private System() {}... }

DVG Klassenhierarchie 8 Die Klasse System Betriebsystem stellt Standard-Datenströme für die Eingabe, Ausgabe und für Fehlermeldungen zur Verfügung. Diese können umgelenkt werden. static InputStream in Standard-Eingabestrom = Tastatur static PrintStream out Standard-Ausgabestrom = Bildschirm static PrintStream err Standard-Ausgabestrom für Fehlermeldungen = Bildschirm

DVG Klassenhierarchie 9 Methoden der Klasse System static void setIn(InputStream in) Ändert den Standard-Eingabestrom static void setOut(PrintStream out) Ändert den Standard-Ausgabestrom static void setErr(PrintStream err) Ändert den Ausgabestrom für Fehlermeldungen static void exit(int status) beendet das laufende Programm mit dem Rückkehrcode status static void gc() startet die Garbage-Collection static void runFinalization() startet für alle Objekte, die keine Referenzen mehr haben die Methoden finalize

DVG Klassenhierarchie 10 static void arraycopy(Object src, int src_position, Object dst, int dst_position, int length) Kopiert ein Teil eines Feldes auf ein Zielfeld –src und dst müssen auf Felder zeigen, deren Elemente vom gleichen Typ sein gleicher primitiver Datentyp Referenztyp –Wenn src und dst gleich sind wird kopiert als wenn zunächst auf ein Zwischenfeld kopiert wird und anschließend auf das Ziel. static long currentTimeMillis() aktuelle Zeit in Millisekunden bzgl Uhr

DVG Klassenhierarchie 11 static Properties getProperties() bestimmt Systemeigenschaften und gibt diese als Objekt der Klasse Properties aus. In Properties gibt es die Methode list: System.getProperties().list(System.out) static String getProperty(String key) gibt den Wert der Systemeigenschaft mit dem Namen key als Zeichenkette zurück static void setProperties(Properties props) setzen der Systemeigenschaften static String setProperty(String key, String value) setzen der Systemeigenschaft mit dem Namen key auf den Wert value Klassenhierarchie

DVG Klassenhierarchie 12 Die Klasse Throwable Klasse Throwable ist die Superklasse aller Fehler und Ausnahmen in JAVA. Ein Objekt der Klasse Throwable enthält einen snapshot des execution stacks zu dem Zeitpunkt zu dem es erzeugt wurde. Außerdem kann ein Text enthalten sein, der die Ausnahme genauer beschreibt. Objekte der Klasse Throwable können mit der throw -Anweisung aktiviert werden. Z.B.: class ZeroDivide extends Throwable {}... double x, y, z; if (y==0.0) throw new ZeroDivide(); z=x/y;...

DVG Klassenhierarchie 13 Konstruktoren der Klasse Throwable Throwable() Initialisiert eine Ausnahme ohne Fehlermeldungstext Throwable(String message) Initialisiert eine Ausnahme mit Fehlermeldungstext

DVG Klassenhierarchie 14 Methoden der Klasse Throwable public Throwable fillInStackTrace() Erzeugt eine neue Ausnahme, wobei der stacktrace von der ursprünglichen Ausnahme übernommen wird. public String getMessage() public String getLocalizedMessage() gibt den (sprachspezifischen) Fehlermeldungstext aus, der im Konstruktor angegeben wurde public void printStackTrace() public void printStackTrace(PrintStream s) public void printStackTrace(PrintWriter s) gibt den stacktrace auf System.err bzw. auf s aus public String toString() gibt den Namen der Klasse zurück zu der die Ausnahme gehört wenn eine Meldung existiert: + : + message Klassenhierarchie

DVG Klassenhierarchie 15 Die Klassen Error und Exception Die Klassen Exception und Error sind einfache Ableitungen von der Klasse Throwable. Von Error werden üblicherweise echte Fehler abgeleitet, die zum Programmabruch führen. Von Exception werden Ausnahmen abgeleitet, die behandelt werden können. Klassenhierarchie

DVG Klassenhierarchie 16 Die Klasse Math Klasse Math enthält allgemeine mathematische Konstanten und Funktionen. Math ist nicht instanziierbar (wie System )

DVG Klassenhierarchie 17 Attribute der Klasse Math static double E Die double -Zahl die dichter an e ist als alle anderen double - Zahlen. static double PI Die double -Zahl die dichter an ist als alle anderen double - Zahlen.

DVG Klassenhierarchie 18 Methoden der Klasse Math static typ abs (typ a) static typ max (typ a, typ b) static typ min (typ a, typ b) typ = long, int, float, double Absolutbetrag, Maximum und Minimum static long round (double a) static int round (float a) die zu a dichteste long - bzw. int -Zahl static double rint (double a) die zu a dichteste ganze Zahl als double dargestellt static double floor(double a) die größte ganze Zahl, die nicht größer als a ist als double dargestellt static double ceil(double a) die kleinste ganze Zahl, die nicht kleiner als a ist als double dargestellt

DVG Klassenhierarchie 19 Winkelfunktionen static double func (double a) func = sin, cos, tan, asin, acos, atan, toDegrees, toRadians static double atan2 (double a, double b) Potenz- und Logarithmusfunktionen static double func (double a) func = exp, log, sqrt static double pow (double a, double b) berechnet a b Zufallszahlen static double random() liefert gleichverteilte Zufallszahlen im Intervall Klassenhierarchie

DVG Klassenhierarchie 20 Die Klasse String Die Klasse String definiert Zeichenkettenkonstanten. Die Zeichenketten können nach der Instanziierung nicht mehr geändert werden. Für sich ändernde Zeichenketten nutze man besser die Klasse StringBuffer. String -Objekte können mit dem Operator + verkettet werden. Beispiele: System.out.println("abc"); String cde = "cde"; System.out.println("abc" + cde); String c = "abc".substring(2,3); String d = cde.substring(1, 2);

DVG Klassenhierarchie 21 Konstruktoren der Klasse String String() Initialisiert eine leere Zeichenkette "" String(byte[] bytes) String(byte[] bytes, int offset, int length) Initialisiert eine Zeichenkette aus den bytes unter Berücksichtigung der aktuellen Umwandlungsregeln. String(byte[] bytes, String enc) String(byte[] bytes, int offset, int length, String enc) Initialisiert eine Zeichenkette aus den bytes unter Berücksichtigung der Umwandlungsregeln in enc. String(char[] value) String(char[] value, int offset, int count) Initialisiert eine Zeichenkette aus den Zeichen des Feldes.

DVG Klassenhierarchie 22 String(String value) Initialisiert eine Zeichenkette als Kopie der angegebenen Zeichenkette. String(StringBuffer buffer) Initialisiert eine Zeichenkette als Kopie der angegebenen Zeichenkette in dem StringBuffer.

DVG Klassenhierarchie 23 Methoden der Klasse String String concat(String str) verketten mit der Zeichenkette str int hashCode() bestimmen eines hashcodes String intern() gibt eine Zeichenkette zurück die sich im Zeichenkettenpool befindet und den selben Inhalt wie this hat int length() Länge der Zeichenkette

DVG Klassenhierarchie 24 Zerlegen char charAt(int index) Zeichen an der Position index String substring(int beginIndex) String substring(int beginIndex, int endIndex) Teilzeichenkette von beginIndex bis endIndex-1 String trim() löscht "whitespaces" am Anfang und Ende der Zeichenkette Vergleichen int compareTo(Object o) int compareTo(String anotherString) int compareToIgnoreCase(String str) gibt die Differenz der ersten voneinander verschiedenen Zeichen in den Zeichenketten zurück ggf. unter Vernachlässigung der Groß- und Kleinschreibung

DVG Klassenhierarchie 25 boolean equals(Object anObject) boolean equalsIgnoreCase(String anotherString) testet ob die Zeichenketten übereinstimmen ggf. ohne Berücksichtigung der Groß- und Kleinschreibung boolean regionMatches(int toffset, String other, int ooffset, int len) boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) vergleicht Teile von Zeichenketten boolean endsWith(String suffix) testet ob die Zeichenkette mit suffix endet boolean startsWith(String prefix) boolean startsWith(String prefix, int toffset) testet ob eine Zeichenkette mit prefix beginnt

DVG Klassenhierarchie 26 Suchen int indexOf(int ch) int indexOf(int ch, int fromIndex) int indexOf(String str) int indexOf(String str, int fromIndex) Gibt den Index zurück an der das Zeichen ch bzw. die Zeichenkette str gefunden wurde. Wenn es nicht gefunden wurde wird -1 zurückgegeben. int lastIndexOf(int ch) int lastIndexOf(int ch, int fromIndex) int lastIndexOf(String str) int lastIndexOf(String str, int fromIndex) Gibt den letzten Index zurück an der das Zeichen ch bzw. die Zeichenkette str gefunden wurde. Wenn es nicht gefunden wurde wird -1 zurückgegeben.

DVG Klassenhierarchie 27 Ersetzen String replace(char oldChar, char newChar) Ersetzt jedes Vorkommen von oldChar durch newChar. String toLowerCase() String toLowerCase(Locale locale) String toUpperCase() String toUpperCase(Locale locale) wandelt alle großen (kleinen) Buchstaben in kleine (große) Buchstaben um unter Berücksichtigung sprachspezifischer Gegebenheiten Klassenhierarchie