Tag 7 Repetitorium Informatik (Java)
|
|
- Helga Gärtner
- vor 6 Jahren
- Abrufe
Transkript
1 Tag 7 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018
2 Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 2 / 36
3 Übersicht Klassen und Objekte Grundbegriffe Definition von Klassen Instanzmethoden/-variablen vs. Klassenmethoden/-variablen Instanziierung von Klassen Erzeugung von Objekten Konstruktoren Übersetzen/Ausführen mit mehreren Klassen Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 3 / 36
4 Klassen und Objekte
5 Motivation (I) bisher: Verwendung von vordefinierten (primitiven) Datentypen int, double, boolean,... eine Variable eines solchen Typs speichert immer genau ein Datum Arrays, um mehrere Werte desselben Typs zu speichern aber: häufig: Daten unterschiedlichen Typs, die konzeptuell zusammengehören zusätzlich Methoden, die auf bzw. mit diesen Daten arbeiten jetzt: Definition und Verwendung von eigenen, zusammengesetzten Datentypen Einstieg in die Objektorientierte Programmierung (OOP) Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 5 / 36
6 Motivation (II) Bisher... // zwei Konten... int kontonr1 = ; String eigentuemer1 = " Musterfrau "; double kontostand1 = ; int kontonr2 = ; String eigentuemer2 = " Mustermann "; double kontostand2 = ; //... und eine "Ü berweisung " System. out. println ("Ü berweisung von " + kontonr1 + " nach " + kontonr2 ); kontostand1 = kontostand1-50; kontostand2 = kontostand2 + 50; Nicht schön... Obwohl Kontonummer, Eigentümer und Kontostand jeweils zusammengehören, sind sie in unabhängigen Variablen gespeichert. Pro neues Konto müssten drei neue Variablen angelegt werden. Die Implementierung der Überweisung ist von den Daten getrennt. Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 6 / 36
7 Motivation (III) Ziel für unser Beispiel: Definition und Verwendung eines neuen Datentyps Konto speichert die Daten Kontonummer, Eigentümer und Kontostand bietet eine Methode, um eine Überweisung zu tätigen Objektorientierte Programmierung (OOP): Daten und zugehörige Operationen, die auf diesen Daten arbeiten, zu einer konzeptuellen und organisatorischen Einheit zusammenfassen ( Klasse) was zusammengehört, wird zusammengefasst was nicht zusammengehört, wird voneinander getrennt erlaubt Modularisierung und Wiederverwendung ein Programm besteht i.a. aus vielen verschiedenen Klassen diese Klassen verwenden sich gegenseitig Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 7 / 36
8 Grundbegriffe: Klassen und Objekte Klasse OOP-Konzept zur Definition neuer, zusammengesetzter Datentypen die Klassendefinition legt fest: Attribute: Variablen für zu speichernde Daten Methoden: zur Verfügung stehende Operationen auf den Daten stellt eine Art Schablone oder Bauplan dar Objekt konkretes Exemplar einer Klasse eine Ausprägung wird gemäß der Schablone erzeugt und kann entsprechend verwendet werden i.a. werden mehrere Objekte derselben Klasse erzeugt und verwendet Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 8 / 36
9 Klassen und Objekte in unserem Beispiel Klasse Konto Attribute: kontonummer, eigentuemer, kontostand Methoden: ueberweisen, kontostandausgeben Objekte der Klasse Konto kontonummer: eigentuemer: Musterfrau kontostand: kontonummer: eigentuemer: Mustermann kontostand: Merke Es wird einmalig bei der Klassendefinition festgelegt, welche Attribute (und Methoden) ein Konto hat, aber jedes Objekt hat eigene Kopien der Attribute mit eigenen Werten. Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 9 / 36
10 Klassen und Objekte in einem anderen Beispiel Klasse Mitarbeiter Attribute: name, gehalt, abteilung Methoden: befoerdern, entlassen Objekte der Klasse Mitarbeiter name: Musterfrau gehalt: abteilung: Abteilung A name: Mustermann gehalt: abteilung: Abteilung B... Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 10 / 36
11 Definition von Klassen Syntax: Klassendefinition (vereinfacht) Modifizierer class Klassenname { Definitionen Hinweise Modifizierer zunächst immer nur public Datei muss genauso heißen wie die Klasse Klassenname bestehend aus Buchstaben, Zahlen und (bestimmten) Sonderzeichen Konventionen: ausschließlich Buchstaben, beginnend mit Großbuchstaben Definitionen Deklaration von Attributen und Methoden Reihenfolge egal, per Konvention üblicherweise zuerst Attribute Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 11 / 36
12 Attribute bisher: nur lokale Variablen Deklaration innerhalb von Methoden (bzw. darin verschachtelten Blöcken) Verwendung nur innerhalb dieser Methode (bzw. dieses Blocks) möglich jetzt: Attribute ( globale Variablen ) Deklaration direkt innerhalb einer Klasse Syntax zur Deklaration und Initialisierung wie bei lokalen Variablen Zugriff aus allen Methoden (und ggf. von außerhalb, s.u.) möglich Beispiel public class Konto { int kontonummer ; String eigentuemer ; double kontostand ; Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 12 / 36
13 Instanzmethoden/-variablen vs. Klassenmethoden/-variablen Jetzt wird es ein ganzes Stück komplizierter. Bei Unklarheiten Fragen stellen! bekannt: Unterscheidung: Objekt Klasse jetzt: Unterscheidung: Instanzmethode/-variable Klassenmethode/-variable grob (Details kommen gleich!): eine Instanzmethode/-variable gehört zu einem einzelnen konkreten Objekt Zugriff auf eine solche Methode/Variable nur über ein Objekt der Klasse eine Klassenmethode/-variable gehört zu der gesamten Klasse Zugriff auf eine solche Methode/Variable ohne konkretes Objekt möglich Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 13 / 36
14 Instanzvariablen eine Instanzvariable gehört zu einem einzelnen konkreten Objekt eine Instanzvariable wird einmalig innerhalb der Klasse deklariert aber: jedes Objekt hat eine eigene Kopie jeder Instanzvariable jedes Objekt kann eigenen Wert für seine Instanzvariable haben Deklaration einer Instanzvariable ohne weiteres Schlüsselwort (im Gegensatz zu Klassenvariablen, siehe unten) Beispiel: Konto Jedes Konto soll jeweils eigene Kontonummer, Eigentümer und Kontostand haben. Deshalb deklarieren wir die Attribute als Instanzvariablen. Beispiel: Konto public class Konto { int kontonummer ; String eigentuemer ; double kontostand ; Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 14 / 36
15 Klassenvariablen eine Klassenvariable gehört zu der gesamten Klasse alle Objekte der Klasse teilen sich eine Klassenvariable alle Objekte der Klasse lesen und schreiben die identische Variable nützlich für Variablen, die konzeptuell zwar zu einer Klasse gehören, die aber für alle Objekte der Klasse denselben Wert haben sollen Deklaration einer Klassenvariable mit zusätzlichem Schlüsselwort static Beispiel: Konto Die Konto-Objekte sollen aufsteigende Kontonummern erhalten. Um herausfinden zu können, wie viele Konten es gibt (und was demnach die nächste Kontonummer ist), verwenden wir eine Klassenvariable. Beispiel: Konto public class Konto { static int kontenanzahl ; int kontonummer ; String eigentuemer ; double kontostand ; Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 15 / 36
16 Klassen- und Instanzvariablen im Beispiel Beispiel: Konto public class Konto { static int kontenanzahl ; int kontonummer ; String eigentuemer ; double kontostand ; Variablen im Speicher kontenanzahl kontonummer eigentuemer kontostand kontonummer eigentuemer kontostand kontonummer eigentuemer kontostand Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 16 / 36
17 Zugriff auf Instanz- und Klassenvariablen (I) Syntax: Zugriff auf Instanzvariablen Objektvariable. Variablenname Syntax: Zugriff auf Klassenvariablen Klassenname. Variablenname Hinweise für den Zugriff auf eine Instanzvariable braucht man eine Objektvariable gibt an, welche Kopie der Instanzvariable gelesen bzw. geschrieben werden soll für den Zugriff auf eine Klassenvariable reicht der Klassenname Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 17 / 36
18 Zugriff auf Instanz- und Klassenvariablen (II) Beispiel: Konto public class Konto { static int kontenanzahl ; int kontonummer ; String eigentuemer ; double kontostand ; Beispiel: Bank public class Bank { public static void main ( String [] args ) { Konto konto1 ; // hier fehlt noch die Erzeugung des // Kontos ( siehe unten ) Konto. kontenanzahl += 1; konto1. kontonummer = Konto. kontenanzahl ; Aus didaktischen Gründen... Normalerweise würde man das Zählen der Konten und die Vergabe der Kontonummer innerhalb der Klasse Konto implementieren (siehe unten). Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 18 / 36
19 Instanzmethoden eine Instanzmethode arbeitet auf einem konkreten Objekt kann auf die Instanzvariablen dieses Objekts zugreifen man sagt: eine Instanzmethode wird auf einem Objekt aufgerufen wie beim Zugriff auf Instanzvariablen wird eine Objektvariable benötigt Deklaration einer Instanzmethode ohne Schlüsselwort static Beispiel: Konto Die Klasse Konto soll um eine Methode erweitert werden, die den Kontostand eines Kontos ausgibt. Da diese Methode Zugriff auf eine Instanzvariable eines konkreten Objekts braucht, verwenden wir eine Instanzmethode. Beispiel: Konto public class Konto { double kontostand ; //... public void kontostandausgeben () { System. out. println ( " Kontostand : " + kontostand ); Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 19 / 36
20 Selbstreferenz: this (I) jede Instanzmethode kennt das Objekt, auf dem sie aufgerufen wurde zugreifbar über die implizit definierte Variable this alternativer Zugriff auf die eigenen Instanzvariablen (und -methoden) Beispiel ohne this public class Konto { double kontostand ; //... public void kontostandausgeben () { System.out. println ( " Kontostand : " + kontostand ); Beispiel mit this public class Konto { double kontostand ; //... public void kontostandausgeben () { System. out. println ( "... " + this. kontostand ); Empfehlung Beim Zugriff auf die eigenen Instanzvariablen immer ein this voranstellen. Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 20 / 36
21 Selbstreferenz: this (II) this notwendig bei Namenskonflikt zwischen Instanzvariable/lokaler Variable this.variablenname Instanzvariable Variablenname lokale Variable Beispiel: Namenskonflikt zwischen Instanzvariable/lokaler Variable public class Konto { double kontostand ; //... public void setzekontostand ( double kontostand ) { this. kontostand = kontostand ; // FALSCH w ä re: kontostand = kontostand ; Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 21 / 36
22 Klassenmethoden eine Klassenmethode arbeitet auf der gesamten Klasse kann ohne konkretes Objekt auf der Klasse aufgerufen werden kann nicht auf Instanzvariablen zugreifen, nur auf Klassenvariablen nützlich für Methoden, die konzeptuell zu einer Klasse gehören, aber kein konkretes Objekt der Klasse benötigen Deklaration einer Klassenmethode mit zusätzlichem Schlüsselwort static Beispiel: Konto Die Klasse Konto soll um eine Methode erweitert werden, die die Anzahl der Konten ausgibt. Da diese Methode kein konkretes Objekt und nur Zugriff auf Klassenvariablen braucht, verwenden wir in diesem Fall eine Klassenmethode. Beispiel: Konto public class Konto { static int kontenanzahl ; //... public static void anzahlausgeben () { System.out. println ( "# Konten : " + kontenanzahl ); Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 22 / 36
23 Zugriff auf Instanz- und Klassenmethoden (I) Syntax: Zugriff auf Instanzmethoden Objektvariable. Methodenname ( Argument1, Argument2,...) Syntax: Zugriff auf Klassenmethoden Klassenname. Methodenname ( Argument1, Argument2,...) Hinweise für den Zugriff auf eine Instanzmethode braucht man eine Objektvariable bestimmt, auf welchem Objekt die Instanzmethode aufgerufen wird legt die this-variable innerhalb der Instanzmethode fest bei einem Aufruf auf demselben Objekt (this) kann die Objektvariable entfallen für den Zugriff auf eine Klassenmethode reicht der Klassenname bei einem Aufruf innerhalb derselben Klasse kann der Klassenname entfallen Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 23 / 36
24 Zugriff auf Instanz- und Klassenmethoden (II) Beispiel: Konto public class Konto { static int kontenanzahl ; int kontonummer ; String eigentuemer ; double kontostand ; public void kontostandausgeben () { System.out. println ( " Kontostand : " + this. kontostand ); Beispiel: Bank public class Bank { public static void macheausgaben () { Konto konto1 ; // hier fehlt noch die Erzeugung // des Kontos ( siehe unten ) Konto. anzahlausgeben (); konto1. kontostandausgeben (); public static void anzahlausgeben () { System.out. println ( "# Konten : " + kontenanzahl ); public static void main ( String [] args ){ // Klassenmethode in gleicher Klasse // -> Klassenname kann entfallen macheausgaben (); Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 24 / 36
25 Instanz- oder Klassenmethode? (I) Methode ueberweisung() Sollte die Methode ueberweisung() eine Instanz- oder eine Klassenmethode sein? Überlegungen arbeitet auf konkreten Objekten und deren Instanzvariablen ueberweisung() als Instanzmethode? arbeitet auf zwei konkreten Objekten Welches der beiden Objekte ist this? Bedeutet k1.ueberweisung(k2, 10.00) eine Überweisung von oder nach k1? ueberweisung() als Klassenmethode mit zwei Konto-Parametern? Geht beides! Letztendlich ist es eine Entwurfsentscheidung Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 25 / 36
26 Instanz- oder Klassenmethode? (II) Als Instanzmethode public class Konto { double kontostand ; //... Als Klassenmethode public class Konto { double kontostand ; //... // Name deutet Verwendung an! public void ueberweisungnach ( Konto empfaenger, double betrag ) { this. kontostand -= betrag ; empfaenger. kontostand += betrag ; public static void ueberweisung ( Konto empfaenger, Konto sender, double betrag ) { sender. kontostand -= betrag ; empfaenger. kontostand += betrag ; Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 26 / 36
27 Instanziierung von Klassen
28 Wiederholung: Erzeugung von Arrays bekannt: ein Array muss vor der Verwendung erst erzeugt werden Instanziierung mit dem Schlüsselwort new unter Angabe der Größe Beispiel: Array-Instanziierung int [] zahlen = new int [13]; die Array-Variable (zahlen) speichert eine Referenz auf das neue Array Referenz Information, wo das Objekt im Speicher liegt Details zu Referenzen gibt es morgen Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 28 / 36
29 Erzeugung von Objekten auch Klassen müssen instanziiert werden, um konkrete Objekte zu erzeugen erfolgt wie bei Arrays mit Hilfe des Schlüsselworts new Angabe des Klassennamens und ggf. Übergabe von Argumenten (s.u.) Instanziierung kann (wie bei Arrays) bei der Deklaration erfolgen Beispiel: Konto Konto konto1 ; konto1 = new Konto (); Konto konto2 = new Konto (); Achtung! Greift man auf eine nicht-initialisierte Objektvariable zu, schlägt die Übersetzung fehl oder das Programm bricht bei der Ausführung mit einer sog. NullPointerException ab. Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 29 / 36
30 Verwendung von Objektvariablen Objektvariablen können wie Variablen mit primitivem Typ verwendet werden können beispielsweise als Argument an Methoden übergeben werden Beispiel: Konto public class Konto { int kontonummer ; double kontostand ; //... Beispiel: Bank public class Bank { public static void main ( String [] args ) { Konto konto1 = new Konto (); //... ausgabe ( konto1 ); public static void ausgabe ( Konto konto ) { System.out. println ( konto. kontonummer + ": " + konto. kontostand ); Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 30 / 36
31 Konstruktoren Konstruktor: spezielle Methode, die bei der Instanziierung aufgerufen wird kann Parameter haben, denen beim Aufruf Werte übergeben werden hat keinen Rückgabetyp (auch nicht void) Konstruktorname und Klassenname müssen identisch sein aber: mehrere Konstruktoren mit unterschiedlichen Parametern möglich Konstruktoren dienen meist der Initialisierung einzelner oder aller Attribute Erzeugung eines konkreten Objektes mit gewünschten Attributwerten falls kein eigener Konstruktor definiert wird: Standardkonstruktor ohne Parameter und ohne weitere Funktionalität ansonsten: Standardkonstruktor entfällt und kann nicht benutzt werden Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 31 / 36
32 Konstruktoren: Beispiel (I) Ziel Die Klasse Konto soll einen Konstruktor erhalten, mit dem der Eigentümer und der initiale Kontostand eines Konto-Objekts gesetzt werden können. Das Konto soll automatisch die nächste verfügbare Kontonummer erhalten. Überlegungen Eigentümer und Kontostand sollen dem Konstruktor als Argumente übergeben werden die Klassenvariable kontenanzahl (s.o.) soll die Anzahl an Konten mitzählen die Variable gibt die nächste Kontonummer an die Variable muss im Konstruktor inkrementiert werden Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 32 / 36
33 Konstruktoren: Beispiel (II) Beispiel: Konto public class Konto { static int kontenanzahl ; int kontonummer ; String eigentuemer ; double kontostand ; Beispiel: Bank public class Bank { public static void main ( String [] args ) { Konto konto1 = new Konto (" Musterfrau ", ); public Konto ( String eigentuemer, double kontostand ) { this. eigentuemer = eigentuemer ; this. kontostand = kontostand ; kontenanzahl += 1; this. kontonummer = kontenanzahl ; //... Nicht mehr möglich! public class Bank { public static void main ( String [] args ) { Konto konto1 = new Konto (); Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 33 / 36
34 Übersetzen/Ausführen mit mehreren Klassen
35 Übersetzen und Ausführen mit mehreren Klassen Programme bestehen i.a. aus vielen sich gegenseitig verwendenden Klassen Beispiel: die Klassen Bank und Konto bilden zusammen ein Programm beim Übersetzen müssen alle Klassen des Programms übersetzt werden entweder einzeln und hintereinander oder gleichzeitig Tipp: bei Änderung einer Klasse immer alle Klassen erneut übersetzen Beispiel: Übersetzen von Bank und Konto /ordner$ javac Bank.java Konto.java für die Ausführung muss die Klasse mit der main-methode angegeben werden Beispiel: Ausführen des Bank-Programms /ordner$ java Bank Informatik-Repetitorium Tag 7 WS 2017/2018 Lehrstuhl für Informatik 2 (Programmiersysteme) 35 / 36
36 Fragen? Fragen! (hilft auch den anderen)
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
MehrTag 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
MehrTag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)
MehrTag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2016/2017 Willkommen zum Informatik-Repetitorium!
MehrTag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)
Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration
MehrVariablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 10.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 1 / 15
MehrObjekte 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:
MehrC++ - 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
MehrEinstieg in die Informatik mit Java
1 / 28 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 28 1 Überblick: Variablenarten 2 Lokale Variablen 3 Lokale Variablen
MehrJava Einführung Klassendefinitionen
Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse
MehrKapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik
Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen
MehrKlassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
MehrObjekte. 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.......................
MehrC++ - 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
MehrEinstieg in die Informatik mit Java
1 / 18 Einstieg in die Informatik mit Java Klassenvariablen, Klassenmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden
MehrEinstieg 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
MehrEinstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen
MehrEinstieg 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
MehrEinstieg 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
MehrEinstieg 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:
MehrWir wollen in einer Bank die Konten der Kunden modellieren (um sie dann entspr. zu verarbeiten
Noch ein Beispiel Wir wollen in einer Bank die Konten der Kunden modellieren (um sie dann entspr. zu verarbeiten public class Konto { private String kundenname; private double kontostand; private double
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4
Mehr7. Ü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
MehrFelder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.
Felder Felder - Arrays Variable gleichen Types können in Feldern (array) zusammengefasst werden. Typ[] feldname; oder Typ feldname[]; dabei kann unter Benutzung des new-operators gleich die Dimension zugewiesen
MehrObjektorientierte 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
MehrInnere 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
MehrEinstieg 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
MehrEINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17
EINI LW/ in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de http://ls14-www.cs.tu-dortmund.de
MehrInstitut 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
MehrEinstieg 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
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 9. Dezember 2015 Wiederholung Referenzdatentypen reference [0] M datatype
MehrProgrammiertechnik 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
MehrEinstieg 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
MehrMethoden 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)
MehrTag 2 Repetitorium Informatik (Java)
Tag 2 Repetitorium Informatik (Java) Dozent: Daniela Novac Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Zeichen und
MehrAbschnitt 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
MehrObjektorientierte 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
MehrKlassen 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
MehrImplementieren 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
Mehr3. 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.
MehrSilke 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
MehrEinführung in die Programmierung I. 10. Klassen und Objekte. Stefan Zimmer
Einführung in die Programmierung I 10. Klassen und Objekte Stefan Zimmer 14.1.2008 Objektorientierte Programmierung Ein wesentliches Prinzip in Java haben wir bisher umgangen: die objektorientierte Programmierung.
MehrKlassen können bekanntlich aus zwei Komponententypen bestehen, nämlich Attributen und Methoden.
Objektzugriff Klassen können bekanntlich aus zwei Komponententypen bestehen, nämlich Attributen und Methoden. Attribute sind in der Klasse mit Datentyp und Namen deklariert im Objekt sind sie mit jeweils
MehrAnalyse der Klasse Konto
Klasse Konto erzeugt Objekte vom Typ Konto mit gleichen Eigenschaften mit gleichen Fähigkeiten Welche Eigenschaften hat ein Konto? Attribute Datenfelder - Konto hat eine Nummer - Konto hat Inhaber - Konto
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrPhilipp 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
MehrKlassen 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
MehrTeil 2: Weitere Aspekte der Objektorientierung
Teil 2: Weitere Aspekte der Objektorientierung Klassenvariablen So wie es Instanzvariablen gibt, die zu einer gewissen Instanz (Objekt) gehören und deren Attribute speichern, so gibt es aus Klassenvariablen:
MehrEinstieg 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
MehrProf. 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
MehrTafelü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
MehrMethoden 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
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 03: Wiederholung Klassen & Objekte Kyrill Schmid Lehrstuhl für Mobile und Verteilte Systeme Wiederholung Heutige Agenda Klassen, Objekte, Attribute und Methoden Das Schlüsselwort
MehrVererbung, 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
MehrJavakurs 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
MehrKapitel 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
MehrThemen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen
Themen der Übung 1 Organisatorisches Methoden und Wrapperklassen 2 Methoden 3 Wrapper-Klassen CoMa-Übung IV TU Berlin 07.11.2012 Organisatorisches: Im Pool nur auf die Abgabeliste setzen, wenn ihr wirklich
MehrInhaltsü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)
MehrKlassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:
Klassenvariablen Klassenmethoden 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
MehrVererbung. 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
MehrII. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
MehrLetztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a);
Letztes Mal static int ggt(int a, int b) { if (a == b) return a; else if (a > b) } return ggt(a-b,b); else if (a < b) return ggt(a,b-a); Darf hier nicht stehen! Compiler sagt: Missing return statement
MehrJava 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
MehrUniversität Paderborn Prof. Dr. Heike Wehrheim. Betreutes Arbeiten. Ab diese Woche: freitags, 14 16, E-Pool (während Tutorium Knopf) GPI, WS 07/08
Betreutes Arbeiten Ab diese Woche: freitags, 14 16, E-Pool (während Tutorium Knopf) 375 Wiederholung Klasse: class Klassenname { konzeptuelle Einheit der Modellierungsdomäne kapselt Daten und Operationen
MehrSilke 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
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
MehrGeschachtelte Klassen
Geschachtelte Klassen Christian Schamott 1 / 26 Übersicht Gemeinsamkeiten 4 Arten geschachtelte Klassen Elementklasse Lokale Klassen Anonyme Klassen Statisch geschachtelte Klassen Christian Schamott 2
MehrArrays von Objekten. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 03: Wiederholung Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Wiederholung Klassen, Objekte, Attribute und Methoden Das Schlüsselwort
MehrC++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
MehrJava Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017
Informatik 1 für Nebenfachstudierende Grundmodul Java Methoden Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 3 - Java
MehrEINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18
EINI LogWing/ in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrPropädeutikum Programmierung in der Bioinformatik
Propädeutikum Programmierung in der Bioinformatik Java Klassen und Objekte Thomas Mauermeier 27.11.2018 Ludwig-Maximilians-Universität München Rückblick Imperative Programmierung Variablen Fallunterscheidungen
Mehr2.8 Klassen. Nichtgleichartige Elemente können in Klassen zu einem neuen Typ zusammengefasst werden. Beispiel: Die drei Komponenten
2.8 Klassen Frage: Arrays fassen gleichartige Elemente (d.h. Elemente von gleichem Typ) zusammen. Wie kann man nichtgleichartige Elemente zu einem neuen Typ zusammenfassen? Nichtgleichartige Elemente können
MehrSoftwareentwicklung I (IB) Objekte. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München
Softwareentwicklung I (IB) Objekte Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 18.03.2018 20:09 Inhaltsverzeichnis Neue Typen durch Klassen............................. 2
MehrKapitel 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
MehrAbschnitt 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.
Mehr14. Java Klassen. Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung
275 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Klassen (Java) vs. Records (Pascal) 276 Pascal RECORDs in Pascal sind
Mehr7. Objektorientierung. Informatik II für Verkehrsingenieure
7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Klassenattribute und -methoden Bieniusa Software Entwicklung 1 2/ 23 Beispiel: Klassenattribute I class Uebungsgruppe
Mehr14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch
Klassen (Java) vs. Records (Pascal) 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Pascal RECORDs in Pascal sind reine
MehrKonstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }
Konstruktor spezielle Methode zum Initialisieren bei Erzeugen eines Objekts mit new trägt Namen der Klasse hat keinen Rückgabetyp keiner angegeben: Compiler erzeugt Standard-Konstruktor (analog: Attribute
Mehr11. Java Klassen. Klassen - Technisch. Klassen - Beispiel: Erdbebendaten. Klassen - Konzeptuell
Klassen - Technisch Eine Klasse ist eine Einheit mit einem Namen, die Daten und Funktionalität beinhaltet 11. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische
MehrKapitel 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
MehrJava 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
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
Mehr2. Unterprogramme und Methoden
2. Unterprogramme und Methoden Durch Methoden wird ausführbarer Code unter einem Namen zusammengefasst. Dieser Code kann unter Verwendung von sogenannten Parametern formuliert sein, denen später beim Aufruf
MehrInstitut 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
MehrBeispiele 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]
MehrWiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung
Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben
MehrVorkurs 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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 08: Mehr zu Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Wiederholung Heutige Agenda Verwendung der ArrayList 2. Teil: Weitere Aspekte der OO
MehrOOP und Angewandte Mathematik (Praktikum 1) Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
(Praktikum 1) Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Klassen in C++ Beispiele, mit Aufzeigen der Trennung von Spezifikation und Implementierung
MehrAllgemeines - Prinzipien
OOP - Prinzipien Allgemeines - Prinzipien OO modelliert die reale Welt als System interagierender Objekte Objekt = gedankliche oder reale Einheit in der Umwelt und/oder in Software Klar definierte Schnittstellen
Mehr