DVG Klassen und Objekte

Slides:



Advertisements
Ähnliche Präsentationen
C Sharp (C#) Martin Saternus Senior Student Partner
Advertisements

der Universität Oldenburg
Objektorientierte Programmierung
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.
Einführung in die Programmierung Zusammenfassung
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
der Universität Oldenburg
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Ausnahmen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Konstruktoren.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Einführung in die OOP in Java
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Programmieren mit JAVA
Programmieren mit JAVA
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 Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Packages Vortrag : Cornelia Hardt 23. November 1999.
Klassen und Objekte DVG
Abstrakte Klassen DVG
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Klassen und Objekte1 Klassen und Objekte.
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Klassen 02 - Klassen.
DVG Klassen und Objekte
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Einführung in die Programmierung
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Entwurfs- und Implementationsdiagramme
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Objektorientierte Programmierung
EPROG Tutorium #6 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
EPROG Tutorium #3 Philipp Effenberger
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Einführung in die Programmierung mit Java
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Abstrakte Klassen und das Interface-Konzept
Objektorientierte Programmierung (OOP)
Objektorientierte Datenbanken
Objektorientierte Programmierung mit JAVA. © Klasse Wie in C++ ist die Klasse das primäre Mittel um ein Entity abzubilden Die Eigenschaften.
C++ FÜR cOMPUTERSPIELENTWICKLER
Dr. Wolfram Amme, Virtuelle Vererbung, Informatik II, FSU Jena, SS Auflösung von Konflikten bei Mehrfachvererbung Umbenennung mehrdeutiger Methoden.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
OOP II.
Grundkurs Informatik 11-13
Implementieren von Klassen
 Präsentation transkript:

DVG2 - 01 - Klassen und Objekte Wiederholung DVG2 - 01 - Klassen und Objekte

Klassen-Definition in JAVA Klassendefinition bestehen aus Klassenkopf Name der Klasse Kennzeichnung als abstrakte Klasse (abstract) Kennzeichnung als finale Klasse (final) Modifizierer (public) Ableitung von anderen Klassen (extends) Realisierung von Interfaces (implements) Klassenrumpf Attribute (Eigenschaften, Daten) statische Initialisierer Konstruktoren (initialisiert ein Objekt der Klasse) Methoden (Schnittstellen, Prozeduren, Funktionen) interne Klassen DVG2 - 01 - Klassen und Objekte

Klassenkopf [public] [final] [abstract] class Bezeichner [extends Klasse] [implements Interface,...,Interface] public : Die Klasse ist für alle anderen Klassen sichtbar und verwendbar. Wenn nicht angegeben, ist die Klasse nur im selben package sichtbar und verwendbar (in C++ friendly). final: Von der Klasse können keine weiteren Klassen abgeleitet werden. abstract: Die Klasse enthält nicht vollständig definierte (abstrakte) Methoden. Es können keine Objekte von dieser Klasse erzeugt werden. final und abstract können nicht gleichzeitig verwendet werden! DVG2 - 01 - Klassen und Objekte

extends: Die Klasse erweitert eine bekannte Klasse. z.B.: public class Fahrzeug { ..... } public class Lastkraftwagen extends Fahrzeug {......} Lastkraftwagen ist eine Spezialisierung der Klasse Fahrzeug implements: Die Klasse implementiert ggf. mehrere Schnittstellen (interface) Interface sind (abstrakte) Klassen, die ausschließlich abstrakte Methoden enthalten. DVG2 - 01 - Klassen und Objekte

Attribute [Modifizierer] [final] Typ [ []...[] ] name [ = Initialisierer] ; Modifizierer : public , private, protected public : Daten sind aus allen anderen Klassen heraus lesbar und schreibbar. private : Daten sind nur in der Klasse lesbar und schreibbar, in der sie definiert sind. protected : Daten sind lesbar und schreibbar in Klassen die aus der Klasse abgeleitet wurden Klassen die zum selben Package gehören keine Angabe : Daten sind nur in allen Klassen lesbar und schreibbar die zum selben Package gehören. DVG2 - 01 - Klassen und Objekte

beliebiger primitiver Datentyp beliebiger Referenztyp Felder Klassen final : Daten können nie verändert werden und behalten immer den Wert der Initialisierung (Konstanten). Typ beliebiger primitiver Datentyp beliebiger Referenztyp Felder Klassen [] ... [] : Kennzeichnung für n-dimensionale Felder Initialisierer beliebiger Ausdruck Feldinitialisierer : {Initialisierer,..., Initialisierer} DVG2 - 01 - Klassen und Objekte

Methoden [Modifizierer] [final] [abstract] Typ Name ( [formaleParameterliste] ) [ []...[] ] [throws Ausnahme,...,Ausnahme] Block Modifizierer : public, private, protected public : Methoden sind aus allen anderen Klassen heraus benutzbar. private : Methoden sind nur in der Klasse benutzbar in der sie enthalten sind. protected : Methoden sind benutzbar in Klassen die aus der Klasse abgeleitet wurden Klassen die zum selben Package gehören keine Angabe : Methoden sind nur in allen Klassen benutzbar die zum selben Package gehören. DVG2 - 01 - Klassen und Objekte

final: Methoden können nie verändert werden. abstract: Von der Methode sind nur die Schnittstellen (Typ, Name, Parameterliste, ...) definierte, aber nicht der Körper. Damit muss die gesamte Klasse als abstract definiert werden. Von der Klasse können keine Objekte erzeugt werden. Typ: Typ des Wertes den die Methode zurückgibt (return-Anweisung) beliebiger primitiver Datentyp beliebiger Referenztyp Felder Klassen void wenn die Methode keinen Wert zurückgibt DVG2 - 01 - Klassen und Objekte

formaleParameterliste: Typ Name,...,Typ Name Die Klammern () müssen auch angegeben werden, wenn die Parameterliste leer ist! [] ... [] : Kennzeichnung für n-dimensionale Felder throws: Liste der Ausnahmen, die in der Methode eintreten können und nicht behandelt werde, die also nach außen gereicht werden. Block: { Anweisungsfolge } bei nicht-abstrakten Methoden ; bei abstrakten Methoden DVG2 - 01 - Klassen und Objekte

Konstruktoren [Modifizierer] Name ( [formaleParameterliste] ) [throws Ausnahme,...,Ausnahme] Rumpf Modifizierer : public , private, protected Modifizierer, formaleParameterliste, throws : wie bei Methoden Name ist der Name der Klasse kein Typ, auch nicht void ! Wenn kein Konstruktor definiert wird, wird der leere Konstruktor Name(){} automatisch generiert. Konstruktoren können überladen werden. Konstruktoren werden bei der Erzeugung (Instanziierung) von Objekten aufgerufen Name obj = new Name (...); DVG2 - 01 - Klassen und Objekte

Das Schlüsselwort this Mit Hilfe von this kann man sich auf das aktuelle Objekt beziehen. this: Referenz auf das aktuelle Objekt this(...): Konstruktor der aktuellen Klasse. Kann in einem Konstruktor als erste Anweisung aufgerufen werden. this.name: Zugriff auf überdeckte Attribute. DVG2 - 01 - Klassen und Objekte

Das Schlüsselwort super Mit Hilfe des Schlüsselwortes super kann man sich auf die Klasse beziehen aus der die aktuelle Klasse abgeleitet wurde (Superklasse). super(...): Konstruktor der Superklasse. Kann in einem Konstruktor als erste Anweisung aufgerufen werden. Wichtig, da Konstruktoren nicht vererbt werden können. super.name: Zugriff auf Attribute und Methoden der Superklasse. Falls in der direkten Superklasse kein passendes Attribut bzw. Methode gefunden wird, wird in deren Superklasse gesucht u.s.w. DVG2 - 01 - Klassen und Objekte

Der Operator instanceof Objekt instanceof Klasse Wert : boolean true : Objekt ist eine Instanz von Klasse oder einer direkten oder indirekten Subklasse von Klasse. false : sonst (obj instanceof Object) ist immer true für jedes Objekt obj Wichtig: Zuerst die zuletzt abgeleitete Klasse testen! DVG2 - 01 - Klassen und Objekte

Die Methode finalize [Modifizierer] void finalize () [throws Ausnahme,...,Ausnahme] Rumpf Modifizierer : public , private, protected Die Methode finalize wird aufgerufen, bevor ein Objekt durch Garbage-Collection vernichtet wird. Dient dem „Aufräumen“ z.B.: Schließen von Dateien Setzen von Zählern Freigabe von Ressourcen, die von in anderen Sprachen (z.B. C, C++) geschriebenen Programmen angefordert wurden. DVG2 - 01 - Klassen und Objekte

Statische Komponenten Alle Programme sind Klassen Klassen sind nur Definitionen Wer sagt also was abgearbeitet werden soll? Es gibt Konstanten und Methoden, die allgemein verfügbar sein sollen und nicht an Objekte gebunden sein sollten. Z.B.: Mathematische Konstanten: Pi=3.14159...; E=2.781... Physikalische Konstanten: c300000 km/s Mathematische Funktionen: sin(x), cos(x), ... Bestimmte Daten sollten eher an die Klasse als an die Objekte gebunden sein. Z.B. Zähler wie viele Punkte instanziiert wurden. Statusanzeiger DVG2 - 01 - Klassen und Objekte

Statische Attribute und Methoden Modifizierer static,sonst wie andere Attribute und Methoden, z.B.: private static int Anzahl = 0; public static float max(float x, float y) { return x>y?x:y; } Statische Initialisierer static { .... Beliebige Anweisungen } DVG2 - 01 - Klassen und Objekte

this ist nicht verfügbar. Statische Attribute und Methoden werden durch Klassenname.Attribut bzw. Klassenname.Methode oder durch Objektname.Attribut bzw. Objektname.Methode aufgerufen. Alle statischen Komponenten einer Klasse werden abgearbeitet, sobald das erste Mal auf eine statische Komponente der Klasse zugegriffen wird bzw. das erste Objekt der Klasse instanziiert wird. Nicht-statische Komponenten werden bei der Instaziierung eines Objektes der Klasse abgearbeitet. Es werden alle statischen Komponenten in der Reihenfolge ihres Auftretens abgearbeitet. Statische Komponenten werden nur einmal eingerichtet, unabhängig von der Anzahl der Objekte die von dieser Klasse instanziiert werden. In statischen Komponenten können nur andere statische Komponenten verwendet werden. this ist nicht verfügbar. DVG2 - 01 - Klassen und Objekte

Innere Klassen Strukturierungsmittel Möglichkeit Sichtbarkeiten zu beeinflussen besondere Möglichkeiten bei der Vererbung DVG2 - 01 - Klassen und Objekte

private, protected, public u.s.w. DVG2 - 01 - Klassen und Objekte