Zugriff auf Attribute eines Objekts. Objekte in Java. Referenztypen. Arrays und Klassen

Größe: px
Ab Seite anzeigen:

Download "Zugriff auf Attribute eines Objekts. Objekte in Java. Referenztypen. Arrays und Klassen"

Transkript

1 Prog. Objekte in Java Prog. Zugriff auf Attribute eines Objekts Ein Objekt (eine Instanz) einer Klasse wird durch Deklaration einer Variablen vom Typ der Klasse angelegt (deklariert) Objektvariablen werden mit Hilfe des new-operators initialisiert (instanziert, erzeugt) Ausnahme Strings und Arrays Compiler stellt Literale zur Objekterzeugung zur Verfügung Nach der Initialisierung haben alle Variablen des Objekts zunächst Standardwerte Referenztypen haben den Standardwert null // Deklaration einer Objekt-Variablen Pferd Abashiri; // Initialisierung der Variablen Abashiri = new Pferd(); /* Deklaration und Initialisierung können zusammen-gefasst werden */ Pferd Abahatschi = new Pferd(); // Arrays können mittels Literalen initialisiert werden */ int a[] = 1,,3,4; /* Strings können ebenfalls mittels Literalen initialisiert werden */ String s = Abahatschi ; Zugriff (lesend & schreibend) auf Attribut (Variable) eines Objekts mittels Punktnotation: Objekt.Attribut Zugriff auf eine Variable, für die noch kein Objekt erzeugt wurde führt zu einem Fehler Variablen die nicht belegt werden haben Standardwerte Standardwerte primitiver DT boolean char byte short int long float double false \u.. Abashiri.name = Abashiri ; // Fehler!!! Pferd Abashiri = new Pferd(); // Attribute eines Objekts belegen Abashiri.name = Abashiri ; Abashiri.farbe = braun ; Abashiri.rasse = Araber ; Abashiri.weiblich = true; Abashiri.alter = 1; Abashiri.gewicht = 3; Abashiri.stockmass = 19; Abashiri.hoechstgeschwin = 6; Abashiri.anzahlNachkommen = ; // Ausgabe System.out.print( Name: ); System.out.println(Abashiri.name); System.out.print( Farbe: ); System.out.println(Abashiri.farbe); System.out.print( Rasse: ); System.out.println(Abashiri.rasse); FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke Prog. Referenztypen Prog. Arrays und Klassen Wichtige Klasse von Datentypen neben den primitiven Datentypen sind die Referenztypen Objekte, Strings, Arrays Leere Referenz wird durch die Konstante null gekennzeichnet Zuweisung von Referenzen kopiert den Verweis und nicht das Objekt Referenztypen können mittels der Methode clone kopiert werden Gleichheitstest (==) zweier Referenzen testet ob die Verweise gleich sind // Eine Klasse Datum public class Datum public int tag; public Monat monat; public int jahr; // Deklaration zweier Daten Datum d1, d; // Initialisierung der Variablen d1 d1 = new Datum(); d1.tag= 1; d1.monat = Monat.April; d=d1; /* d1 und d zeigen auf das gleiche Objekt */ Arrays Bestehen aus mehreren gleichartigen Elementen (d.h. vom gleichen Typ) Die einzelnen Elemente haben keinen Namen, sondern werden über einen Index angesprochen (z.b. a[i]) Die Anzahl der Elemente wird bei der Erzeugung des Arrays festgelegt Klassen Können aus verschieden Elementen bestehen (unterschiedliche Typen) Jedes Element einer Klasse hat einen Namen und kann nur über diesen angesprochen werden (z.b. a.name) Die Anzahl der Elemente wird bei der Vereinbarung der Klasse festgelegt Dies ist eine strengere Forderung als die inhaltliche Gleichheit Inhaltliche Gleichheit kann mittels der Methode equals getestet werden d.tag=13; /* Nun hat auch d1.tag den Wert 13 */ d1.monat = Monat.Dezember; /* Nun hat auch d.monat den Wert Dezember */ Arrays werden erzeugt mittels new Typname[anzahl] Klassen werden erzeugt mittels new Klassenname() FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 4

2 Prog. Methoden von Objekten Prog. Aufruf von Methoden Methoden werden innerhalb einer Klassendefinition angelegt und haben Zugriff auf alle Variablen des Objekts Methoden arbeiten immer mit den Variablen des aktuellen Objekts Syntax der Methodendefinition: Modifier Typ Name([Parameter]) Anweisung; /* Eine einfache Klasse mit einer Methode*/ public String farbe; public float stockmass; public float deltav() return hoechstgeschwin - geschwindigkeit; FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 5 Methodenaufruf erfolgt wieder mittels Punktnotation Methodenparameter müssen in Klammern angegeben werden, auch wenn die Methode keine Parameter besitzt Methoden dürfen ohne Punktnotation auf die Instanzvariablen ihrer Klasse zugreifen Compiler interpretiert alle verwendeten nichtlokalen Variablen x als this.x this ist Referenzvariable, die auf das aktuelle Objekt zeigt Wird dazu verwendet, die eigenen Instanzvariablen und Methoden anzusprechen /* Methodenaufruf*/ Pferd Abashiri = new Pferd(); Abashiri.hoechstgeschwin = 6.; Abashiri.geschwindigkeit = 1.; Syso.print(Abashiri.deltaV()); Syso.print( km/h unterhalb des ); Syso.println( Maximums! ); /* this-zeiger kann explizit, wie eine normale Objektvariable benutzt werden */ public float deltav() return this.hoechstgeschwin - this.geschwindigkeit; FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 6 Prog. Parameter von Methoden Prog. Objekte und Arrays als Parameter Parameter werden in Java per call by value übergeben aktueller Wert wird in Parametervariable kopiert und an die Methode übergeben Objektvariable sind Referenzen (Zeiger) Die Referenz zeigt innerhalb einer Methode auf das Objekt Übergabe von Objekten ist schnell (größenunabhängig) Objekt wird verändert! Call by value-übergabe eines Zeigers entspricht also genau der call by reference-semantik Kopieren von Objekten durch expliziten Aufruf von clone /* Parameter werden immer mittels call by value uebergeben*/ public float alter; public void printalter(int n) while(n-- > ) Syso.print( Alter: ); Syso.println(alter); /* 1 mal das Alter ausgeben */ int anzahl = 4; Übergabe von Objekten und Arrays kann zu verdeckten Fehlern führen Aufgerufene Methode arbeitet mit dem Originalobjekt, kann also deren Membervariablen/ Elemente unbemerkt ändern Unbeabsichtigtes Ändern einer modifizierbaren Referenzvariable bei der Übergabe an eine Methode kann nur durch vorheriges Kopieren (mittels clone) verhindert werden Ausgabe des nebenstehenden Programms: a :1. b :. ab.a:. ab.b:1. public class SideExample public static void main(string[] args) float a=1., b=.; Pair ab = new Pair(); ab.a = 1.; ab.b =.; swap(a,b); swap(ab); Syso.println( a : +a+ b : +b); Syso.println( ab.a: +ab.a+ ab.b: +ab.b); public static void swap(float a, float b) float t = a; a = b; b = t; public static void swap(pair ab) float t = ab.a; ab.a = ab.b; ab.b = t; class Pair public float a; public float b; FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 8

3 Prog. Überladen von Methoden Prog. Konstruktoren Die Methoden einer Klasse können überladen werden Compiler unterscheidet die verschiedenen Varianten anhand von Anzahl und Typisierung der Parameter der Methoden Rückgabewert trägt nicht zur Unterscheidung bei Typische Anwendungen von überladenen Methoden Simulation von variablen Parameterlisten Erweiterung bereits verwendeter (vorhandener) Methoden um weitere Parameter /* Gibt das Alter zurück */ public float alter() return this.alter; /* Gibt das Alter zurück. Gibt zusätzlich eine Titel und das Alter aus. */ public float alter(string titel) float alter = alter(); Syso.println(titel+alter); return alter; Konstruktoren sind spezielle Methoden, die bei der Initialisierung eines Objekts aufgerufen werden In Java werden Konstruktoren als Methoden ohne Rückgabewert definiert, die den Namen der Klasse erhalten, zu der sie gehören Konstruktoren dürfen beliebig viele Parameter haben können überladen werden Bei Objektinstanzierung mittels parametrisierten Konstruktoren stehen die Parameter, wie bei Methodenaufrufen, in Klammern this.hoechstgeschwin = vmax; Pferd Abashiri = new Pferd( Abashiri ); Syso.println( Name: + Abashiri.name); FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 1 Prog. Default-Konstruktoren Prog. Verkettung von Konstruktoren Besitzt eine Klasse überhaupt keinen expliziten Konstruktor, wird vom Compiler automatisch ein parameterloser default- Konstruktor generiert Der default-konstruktor ruft den parameterlosen Konstruktor der Superklasse auf Achtung: Erhält eine Klassendeklaration nur parametrisierte Konstruktoren, wird kein default- Konstruktor erzeugt und die Klassendatei hat keinen parameterlosen Konstruktor this.hoechstgeschwin = vmax; Pferd Abashiri = new Pferd(); /* Fehler!!! --> Construktor Pferd() undefined */ In Java können sich unterschiedliche Konstruktoren einer Klasse gegenseitig aufrufen Aufzurufender Konstruktor wird als Methode mit Namen this betrachtet Unterscheidung zum this Zeiger durch runde Klammern Wird ein Konstruktor in einem anderen derselben Klasse explizit aufgerufen, muß dies als erste Anweisung innerhalb der Methode geschehen Vorteil der Konstruktorverkettung: Wiederverwendung von vorhandenem Code /* Beispiel für die Verkettung von Konstruktoren */ // Anstatt // // Aufruf des anderen Konstruktors this(name); this.hoechstgesching = vmax; FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 1

4 Prog. Destruktoren in Java Prog. Ableiten einer Klasse Destruktoren werden unmittelbar vor der Zerstörung eines Objektes aufgerufen Ein Destruktor wird als geschützte (protected) parameterlose Methode mit dem Namen finalize definiert Sprachdefinition von Java garantiert nicht den Aufruf eines Destruktors Wenn ein Destruktor aufgerufen wird, dann nicht zum Ende der Lebenszeit eines Objekts, sondern bei Freigabe des für das Objekt reservierten Speichers durch den Garbage Collector /* Ein Konstruktor */ public Perd(String name) /* Ein Destruktor */ protected void finalize() // Anweisungen, Aufraeumen,... Vorsicht beim Einsatz von Destruktoren in Java! Eine neue Klasse wird aus einer bestehenden abgeleitet, indem im Kopf der neuen Klasse mittels extends ein Verweis auf die Basisklasse angegeben wird Die abgeleitet Klasse erbt alle Eigenschaften der Basisklasse Attribute (Variablen) und Methoden Die Funktionalität der abgeleiteten Klasse kann erweitert werden durch Hinzufügen neuer Elemente Überladen vorhandener Elemente Vererbung kann beliebig tief geschachtelt werden Besitzt eine Klasse das Attribut final, kann keine neue Klasse von ihr abgeleitet werden float alter; float gewicht; class Saeugetier extends Tier boolean weiblich; class Pferd extends Saeugetier float schweiflaenge; /* Es kann auf die Elemente aller Vaterklassen zugegriffen werden */ Pferd abahatschi = new Pferd(); abahatschi.alter=1.f; abahatschi.gewicht=3.f; abahatschi.weiblich=false; abahatschi.schweiflaenge=6.f; FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 14 Prog. Überlagern von Methoden Prog. Initialisierungsreihenfolge Eine Klasse besitzt alle aus der Vaterklasse geerbten Methoden und die, die sie selbst neu definiert Wurde eine Methode der Vaterklasse überlagert, wird beim Aufruf der Methode auf Objekten des abgeleiteten Typs immer die überlagernde Version verwendet Es wird immer die Version einer Methoden verwendet, die dem aktuellen Objekt beim Zurückverfolgen der Vererbungslinie am nächsten liegt protected String name; public Tier(String name) public String tostring() return name; class Pferd extends Tier private float stockmass; public Pferd(String name, float s) super(name); this.stockmass = s; public String tostring() return name + : + stockmass; Initialisierungsschritte beim Instanzieren eines neuen Objekts 1. Aufruf der Superklassenkonstruktoren. Initialisierung aller Membervariablen in der textuellen Reihenfolge ihrer Deklaration 3. Ausführung des Programmcodes im Rumpf des Konstruktors Ausgabe des nebenstehenden Programms: Father.s1 Father.<init> Son.s1 Son.<init> public class InitExample public static String getandprint(string s) Syso.println(s); return s; public static void main(string[] args) Son son = new Son(); class Father private String s1 = InitExample.getAndPrint( Father.s1 ); public Father() InitExample.getAndPrint( Father.<init> ); class Son extends Father private String s1 = InitExample.getAndPrint( Son.s1 ); public Son() InitExample.getAndPrint( Son.<init> ); FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 16

5 Prog. Die Klasse Object Prog. Die Methode equals() Jede Klasse besitzt die implizite Vaterklasse Object Superklasse aller Objekte Die Klasse Object definiert unter anderem die folgenden Methoden boolean equals(object obj) Test, ob zwei Objekte gleich sind protected Object clone() Kopieren eines Objekts String tostring() Erzeugen einer String- Repräsentation des Objekts int hashcode() Berechnen eines Schlüssels zur Speicherung des Objekts in einer Hashtabelle Obige Methoden müssen im Allgemeinen überlagert werden float alter; float gewicht; Tier a = new Tier(); Tier b = new Tier(); a.alter = 1.f; a.gewicht = 3.f; b.alter = 1.f; b.gewicht = 3.f; if( a == b ) Syso.println( Referenzen gleich ); if( a.equals(b) ) Syso.println( Objekte mit gleichem Inhalt ); Liefert ohne Überschreiben der Methode equals() das gleiche Ergebnis wie == FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 17 Die von der Klasse Object geerbte equals-methode liefert den Vergleich zweier Objekte mittels == Im Allgemeinen muss equals also geeignet überladen werden Anforderungen an equals: Reflexiv: x.equals(x) muss war sein Symmetrisch: x.equals(y) ist wahr <=> y.equals(x) ist wahr Transitiv: x.equals(y) wahr, y.equals(z) wahr => x.equals(z) wahr Wiederholbar x.equals(null) muß falsch liefern public class EqualsB int i; IrgendeineKlasse obj; public EqualsB(int i, irgendeineklasse o) this.i = i; this.obj = o; public EqualsB() this(,new IrgendeineKlasse()); public boolean equals(object o) if( o == null ) return false; if( o == this ) return true; if(!(o instanceof EqualsB) ) return false; EqualsB anderes = (EqualsB) o; if( i!= anderes.i ) return false; if(!obj.equals(anderes.obj) ) return false; return true; FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 18 Prog. Die Methode tostring() Prog. Dynamische Methodensuche Standardimplementierun g von tostring() gibt aus 1. Den Klassennamen. Zeichen 3. Den hashcode() des Objekts Besser: Implementierung von tostring(), welche den Klassennamen und die wichtigsten Status-informationen bereitstellt Beispiel: public class MitToS int x, y;... public String tostring() return MitToS[ +x+, +y+ ] ; public class OhneToS int x, y; // Ein einfacher Konstruktor public OhneToS(int x, int y) this.x = x; this.y = y; /* Erzeugen und Ausgeben eines Objekts */ public static void main(string[] args) Syso.println(new OhneToS(4,6)); Ausgabe: OhneToS@47b48 Objekte abgeleiteter Klassen sind zuweisungskompatibel zu (Objekt-)Variablen übergeordneter Klassen z.b. kann ein Pferd-Objekt einem Tier-Objekt zugewiesen werden Da Variablen während ihrer Lebenszeit Objekte verschiedenen Typs enthalten können, kann der Compiler nicht entscheiden, welche Version einer überlagerten Methode aufgerufen werden soll Es muß zur Laufzeit entschieden werden (dynamische Bindung) In Java werden alle Methodenaufrufe dynamisch interpretiert Deutlich aufwendiger als statische Methodenaufrufe Man kann eine Methode mit Attributen versehen, die verhindern, dass sie überlagert werden kann Methoden mit dem Attribut private sind in abgeleiten Klassen nicht sichtbar und können daher nicht überlagert werden static-methoden existieren unabhängig von einer Instanz und können daher nicht überlagert werden Mittels final kann der Anwender explizit deklarieren, dass eine Methode nicht überlagert werden kann FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen Objektorientierte Programmierung mit Grundlagen 27.10.2008 1 Übersicht 27.10.2008 2 1 Übersicht Klassen und Objekte in - Klassen - Objekte - Klassen - Objekte 27.10.2008 3 Übersicht 27.10.2008 4 2 Einführung

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen 5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden

Mehr

Intuitive Einführung. Informatik B Objektorientierte Programmierung in Java. Vorlesung 01: Objektorientierte Programmierung (Teil 1)

Intuitive Einführung. Informatik B Objektorientierte Programmierung in Java. Vorlesung 01: Objektorientierte Programmierung (Teil 1) Universität Osnabrück 1 3 Objektorientierte Programmierung in Java Klasse Objekt Attribut Operation Botschaft Vererbung Assoziation Vorlesung 01: Objektorientierte Programmierung (Teil 1) SS 2004 Prof.

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

4. Vererbung Die Klasse Object. Die Klasse Object

4. Vererbung Die Klasse Object. Die Klasse Object 4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige

Mehr

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse

Mehr

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Grundzüge der Programmierung. Wiederverwendung VERERBUNG Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

Interfaces und Vererbung

Interfaces und Vererbung Interfaces und Vererbung Einführung in Java Folie 1 von 31 12. Mai 2011 Ivo Kronenberg Inhalt Interfaces Statische und dynamische Typen Visiblitätsmodifier Vererbung Überschreiben von Methoden Konstruktoren

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

C++ - Objektorientierte Programmierung Konstante und statische Elemente

C++ - Objektorientierte Programmierung Konstante und statische Elemente C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja

Mehr

Abschnitt 6: Klassen, Objekte und Methoden in Java

Abschnitt 6: Klassen, Objekte und Methoden in Java Abschnitt 6: Klassen, Objekte und Methoden in Java 6. Klassen, Objekte und Methoden in Java 6.1 Klassen 6.2 Objekte 6.3 Methoden 6.4 Zusammenfassung 6 Klassen, Objekte und Methoden in Java Informatik 2

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Objektorientierung (OO)

Objektorientierung (OO) Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members

Mehr

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Klassen und Objekte Einführung in Java Folie 1 von 28 12. Mai 2011 Ivo Kronenberg Inhalt Objekte Klassendefinitionen Datenelemente (Klassenattribute) Instanzieren von Objekten Konstruktoren Vergleich primitive

Mehr

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann

Mehr

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

Vererbung, Polymorphie

Vererbung, Polymorphie Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08

Mehr

Abschnitt 10: Klassen, Objekte und Methoden in Java

Abschnitt 10: Klassen, Objekte und Methoden in Java Abschnitt 10: Klassen, Objekte und Methoden in Java 10. Klassen, Objekte und Methoden in Java 10.1 Klassen 10.2 Objekte 10.3 Methoden 10.4 Zusammenfassung 10 Klassen, Objekte und Methoden in Java Einf.

Mehr

Tagesprogramm

Tagesprogramm 1 2015-12-14 Tagesprogramm Methoden von Object tostring instanceof, class, getclass und Cast equals und hashcode 2 2015-12-14 Methoden von Object Object java.lang.object ist die oberste Oberklasse aller

Mehr

1. Konzepte Objektorientierter Programmiersprachen

1. Konzepte Objektorientierter Programmiersprachen OOP I Grundlagen: 1. Konzepte Objektorientierter Programmiersprachen Einführung: Die objektorientierte Programmierung war für die Softwareindustrie eine der wichtigsten Errungenschaften der 90er Jahre.

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

JAVA 05: Objektorientierte Konzepte

JAVA 05: Objektorientierte Konzepte Lernkartenkurs JAVA 05: Objektorientierte Konzepte panitz Zusammenfassung Dieser Kurs beschäftigt sich mit Grundkonzepten der objektorientierten Programmierung. Was sind Klassen und Objekte? Wie sehen

Mehr

C++ - Objektorientierte Programmierung Polymorphie

C++ - Objektorientierte Programmierung Polymorphie C++ - Objektorientierte Programmierung Polymorphie hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen C++ - Objektorientierte Programmierung 21.06.16 Seite 1 Polymorphie

Mehr

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank... Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Objektorientierung III

Objektorientierung III Lehrstuhl für Bioinformatik Einführung in die Programmierung für Bioinformatiker Prof. B. Rost, Dr. L. Richter Blatt 10 9.1.2017 Objektorientierung III Aufgabe 10.1. Wir sind doch alle gleich In der Vorlesung

Mehr

Programmiertechnik Klassenvariablen & Instantiierung

Programmiertechnik Klassenvariablen & Instantiierung Programmiertechnik Klassenvariablen & Instantiierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Klassenvariablen Zur Erinnerung: Klassen bestehen aus Variablen und Methoden; beide zusammen

Mehr

Klassen als Datenstrukturen

Klassen als Datenstrukturen Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung

Mehr

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public

Mehr

Fragen zur OOP in Java

Fragen zur OOP in Java - 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

Mehr

Tafelübung 07 Algorithmen und Datenstrukturen

Tafelübung 07 Algorithmen und Datenstrukturen Tafelübung 07 Algorithmen und Datenstrukturen Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Vererbung Grundlagen Abstrakte

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 39 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 39 1 Überblick:

Mehr

Umsetzung einer Klassenkarte in einer Programmiersprache

Umsetzung einer Klassenkarte in einer Programmiersprache Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,

Mehr

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 (7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik

Mehr

Java I Vorlesung 6 Referenz-Datentypen

Java I Vorlesung 6 Referenz-Datentypen Java I Vorlesung 6 Referenz-Datentypen 7.6.2004 Referenzen this, super und null Typkonvertierung von Referenztypen Finale Methoden und Klassen Datentypen in Java In Java gibt es zwei Arten von Datentypen:

Mehr

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E. Objekte und Klassen INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? typedef struct Konto { double saldo; int id; Konto; Modul "konto" konto.h konto.c Prozedurale Programmierung:

Mehr

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Folienpaket 7 Themenschwerpunkte: Methoden in OOP 284 09/2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Eine Klasse entwerfen Eine Klasse enthält folgende Information: Name der Klasse (ist auch der

Mehr

Überschreiben von Methoden

Überschreiben von Methoden Vergleich der DoME Realisierungen: Methode ausgeben Version 1 (ohne Vererbung): Anzeigen aller Informationen CD: A Swingin Affair (64 Min)* Frank Sinatra Titelanzahl: 16 Mein Lieblingsalbum von Sinatra

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von

Mehr

Vererbung. Martin Wirsing. Ziele. Vererbung

Vererbung. Martin Wirsing. Ziele. Vererbung 2 Ziele Martin Wirsing en Begriff der einfachen verstehen und Redefinition von Oberklassenmethoden verstehen spolymorphie verstehen ie Klasse Object kennenlernen in Zusammenarbeit mit Michael Barth, Philipp

Mehr

Kapitel 10. Verweise und Referenzen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 10. Verweise und Referenzen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 10 Verweise und Referenzen Inhalt von Kapitel 10 Verweise und Referenzen 10.1 Das Schlüsselwort this Definition Verwendungszweck Klassenmethoden EINSCHUB: Musterlösung zu Übung 4.1 10.2 Objektreferenzen

Mehr

Objektorientierte Programmierung und Klassen

Objektorientierte Programmierung und Klassen Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

Kopieren und Vergleichen

Kopieren und Vergleichen Kopieren und Vergleichen Softwareentwicklung II (IB) Prof. Dr. Oliver Braun Letzte Änderung: 24.05.2018 13:24 Kopieren und Vergleichen 1/26 Kopie eines Objektes (1/4) Erster Ansatz zum Duplizieren eines

Mehr

C++ Klassen weitere Funktionen

C++ Klassen weitere Funktionen C++ Klassen weitere Funktionen Übersicht static Elemente const Elemente Zusätzliches zu Konstruktoren Kopier-Konstruktor Konvertierung-Konstruktor Initialisierungslisten Friend Funktionen 2 Statische Klassenkomponenten

Mehr

IT I: Heute. Klasse Object. equals, hashcode, tostring. HashSet IT I - VO 6 1

IT I: Heute. Klasse Object. equals, hashcode, tostring. HashSet IT I - VO 6 1 IT I: Heute Klasse Object equals, hashcode, tostring HashSet 14.11.2017 IT I - VO 6 1 Wissensüberprüfung Wie ruft man statische Methode auf? Gegeben Klasse Fix mit statischer Methode static boolean foxi(string

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Objekte. Polymorphismus. Klassen und Objekte. Kapselung

Objekte. Polymorphismus. Klassen und Objekte. Kapselung Polymorphismus Objekte Was versteht man unter Polymorphismus? Griechisch: Vielgestaltigkeit, Verschiedengestaltigkeit Methoden mit gleichem Namen können unterschiedliche Parameter haben Objekte können

Mehr

Java Vererbung. Inhalt

Java Vererbung. Inhalt Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter

Mehr

Einführung in die. objektorientierte Programmierung

Einführung in die. objektorientierte Programmierung Einführung in die objektorientierte Programmierung Teil 3 Vererbung Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik Prof. Dr. Gert Faustmann Fachbereich Berufsakademie

Mehr

Vererbung, Polymorphismus

Vererbung, Polymorphismus Vererbung, Polymorphismus INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Automobilbau Firma produziert Limousine Kunde möchte Kombi Wielösen? Möglichkeiten Neudesign

Mehr

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen

Mehr

Philipp Güttler Objektorientierung und komplexe Datentypen

Philipp Güttler Objektorientierung und komplexe Datentypen Philipp Güttler 23.04.2008 Objektorientierung und komplexe Datentypen Seite 2 Was bedeutet objekt-orientiert? Programmierung ist die Umsetzung von Sachverhalten und Aufgaben Zusammenfassen und Aufteilen

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Kurzskript zur Veranstaltung Programmieren Prof. Dipl.-Ing. Jirka R. Dell'Oro-Friedl 2012

Kurzskript zur Veranstaltung Programmieren Prof. Dipl.-Ing. Jirka R. Dell'Oro-Friedl 2012 Kurzskript zur Veranstaltung Programmieren Prof. Dipl.-Ing. Jirka R. Dell'Oro-Friedl 2012 Kurzskript Programmieren 2012 Prof. Dipl.-Ing. Dell'Oro-Friedl, HFU Seite 1/10 Datentypen, Konstanten, Variablen,

Mehr

Kopieren und Vergleichen

Kopieren und Vergleichen Softwareentwicklung II (IB) Kopieren und Vergleichen Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 24.05.2018 13:24 Inhaltsverzeichnis Kopie eines Objektes................................

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16 EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen.

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. 3.8 Objekttypen und Arrays Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. Praktische Informatik I Wolfgang Effelsberg 3. Die Programmiersprache Java 3.8-1 Primitive Datentypen

Mehr

Die Klasse java.lang.object. Thorsten Treffer

Die Klasse java.lang.object. Thorsten Treffer Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:

Mehr

Mapra: C++ Teil 6. Felix Gruber, Sven Groß. IGPM, RWTH Aachen. 13. Juni 2017

Mapra: C++ Teil 6. Felix Gruber, Sven Groß. IGPM, RWTH Aachen. 13. Juni 2017 Mapra: C++ Teil 6 Felix Gruber, Sven Groß IGPM, RWTH Aachen 13. Juni 2017 Felix Gruber, Sven Groß (IGPM, RWTH Aachen) Mapra: C++ Teil 6 13. Juni 2017 1 / 22 Was bisher geschah Klassen I Attribute und Methoden

Mehr

Erste Java-Programme (Java Wiederholung & Vererbung)

Erste Java-Programme (Java Wiederholung & Vererbung) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Java Wiederholung & ) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Java für Bauingenieure

Java für Bauingenieure 1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen

Mehr

Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II a[0] a[1] a[2] a[3] a[n 1]

Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II a[0] a[1] a[2] a[3] a[n 1] Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -108 Kapitel 5: Arrays Einführung Ein Array ist eine Reihung gleichartiger Objekte. a: a[0] a[1] a[2] a[3] a[n 1] Bezeichner a steht

Mehr

4. Vererbung. Idee der Vererbung. Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende Klassen vor:

4. Vererbung. Idee der Vererbung. Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende Klassen vor: 4. Vererbung Grundlagen der Vererbung 4. Vererbung 4. Vererbung Grundlagen der Vererbung Idee der Vererbung Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen

Mehr

Zusatzmaterial DIE KLASSE OBJECT. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Zusatzmaterial DIE KLASSE OBJECT. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Zusatzmaterial DIE KLASSE OBJECT Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Object wich7ge Eigenscha

Mehr

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte Grundkonzepte Objektorientierter Programmierung Nicole Himmerlich FSU Jena mit Java, Oberon-2, Object-Pascal und Python Inhaltsüberblick I. Grundbegriffe 1) Kopplung 2) Datenkaspelung 3) Konstruktor 4)

Mehr

3.2 Datentypen und Methoden

3.2 Datentypen und Methoden Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte

Mehr

Einführung in die Programmierung Blockkurs Java

Einführung in die Programmierung Blockkurs Java Michael Bader 8. 12. April 2002 Dienstag Inhaltsübersicht Variablen: Membervariablen und lokale Variablen Referenzvariablen: Arrays und Objekte anlegen Definition von Funktionen: Methoden Konstruktoren

Mehr

Java Einführung Methoden. Kapitel 6

Java Einführung Methoden. Kapitel 6 Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Klassen mit Instanzmethoden

Klassen mit Instanzmethoden Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 3.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 3.12.07

Mehr

Algorithmen und Programmierung II

Algorithmen und Programmierung II Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung

Mehr