Einstieg in die Informatik mit Java
|
|
- Peter Pohl
- vor 7 Jahren
- Abrufe
Transkript
1 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik
2 Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden formale Parameter 4 Parameterübergabe, Aufruf einer Instanzmethode Referenztypen als Argument Zugriffe in einer Instanzmethode 5 Datenkapselung 6 Überladen von Methoden 7 Variable Argumentliste 8 Laufanweisung für Felder 9 Methode tostring()
3 Gliederung 3 / 34 1 Definition von Klassen 2 Methoden 3 Methoden formale Parameter 4 Parameterübergabe, Aufruf einer Instanzmethode Referenztypen als Argument Zugriffe in einer Instanzmethode 5 Datenkapselung 6 Überladen von Methoden 7 Variable Argumentliste 8 Laufanweisung für Felder 9 Methode tostring()
4 4 / 34 Definition von Klassen Syntax Modifizierer class Bezeichner {Elementliste Die Elementliste besteht u.a. aus Attributen (d. h. Instanzvariablen), Konstruktoren und Instanzmethoden (d.h. Funktionen). Zweck der Instanzmethoden: Bearbeitung der Attribute, Klassen werden zu aktiven Objekten, Kommunikation mit anderen Klassen.
5 Gliederung 5 / 34 1 Definition von Klassen 2 Methoden 3 Methoden formale Parameter 4 Parameterübergabe, Aufruf einer Instanzmethode Referenztypen als Argument Zugriffe in einer Instanzmethode 5 Datenkapselung 6 Überladen von Methoden 7 Variable Argumentliste 8 Laufanweisung für Felder 9 Methode tostring()
6 Methoden 6 / 34 Syntax T y p s p e z i f i k a t i o n Methodenname ( formale P a r a m e t e r l i s t e ) { Deklarationen und Anweisungen ; double demo ( double x ) { return x x ;
7 Gliederung 7 / 34 1 Definition von Klassen 2 Methoden 3 Methoden formale Parameter 4 Parameterübergabe, Aufruf einer Instanzmethode Referenztypen als Argument Zugriffe in einer Instanzmethode 5 Datenkapselung 6 Überladen von Methoden 7 Variable Argumentliste 8 Laufanweisung für Felder 9 Methode tostring()
8 Methoden formale Parameter 8 / 34 Die formale Parameterliste setzt sich jeweils aus der Typspezifikation gefolgt vom zugehörigen Bezeichner zusammen und wird durch Kommata getrennt: Typ 1 Name 1,..., Typ n Name n Die formale Parameterliste darf leer sein, die runden Klammern hingegen müssen stehen. i n t l e e r ( ) { return 123;
9 Methoden formale Parameter 9 / 34 Für jeden Parameter muß eine eigene Typspezifikation existieren. i n t r i c h t i g ( i n t x, i n t y ) {... i n t f a l s c h ( i n t x, y ) {...
10 Methoden formale Parameter 10 / 34 Feldtypen, Zeichenketten und beliebige andere Objekte sind als Parameter und Ergebnisse zugelassen. Bei Feldern muss die korrekte Anzahl von eckigen Klammern, jedoch ohne die Dimension, zusammen mit dem Basistyp angegeben werden. double [ ] rechnenmitvektoren ( double [ ] x ) {...
11 11 / 34 Methodendefinition Ergebnis berechnen Die Rückgabe des Ergebnisses erfolgt über return Ausdruck; Der Ausdruck muß dabei zuweisungskompatibel zum Typ der Methode sein. Mit der return Anweisung wird die Methode abgebrochen und das angegebene Ergebnis zurückgeliefert. class Punkt { double x, y ; double norm ( ) { return Math. s q r t ( x x + y y ) ;
12 i n t f a l s c h ( i n t x ) { i f ( x >= 0) return 2 x ; i n t r i c h t i g ( i n t x ) { i f ( x >= 0) return 2 x ; else return x ; 12 / 34 Methodendefinition Ergebnis berechnen Es muß in jedem Fall ein return durchlaufen werden, sonst tritt ein Fehler auf. Achtung Dies ist eine beliebte Fehlerquelle bei der Verwendung von bedingten und verzweigten Anweisungen!
13 Methodendefinition void 13 / 34 Wird kein Ergebnis benötigt, so ist der Ergebnistyp void und die return Anweisung lautet schlicht: return ; Diese Anweisung muß nicht explizit angegeben werden, sondern wird am Ende der Methode automatisch ausgeführt. void ausgeben ( i n t x ) { System. out. p r i n t l n ( x ) ; Die Anweisung return; bewirkt, dass die Methode an dieser Stelle beendet wird. void ausgeben ( i n t x ) { i f ( x < 0) return ; System. out. p r i n t l n ( x ) ; / / wird e v t l. n i c h t ausgefuehrt
14 Gliederung 14 / 34 1 Definition von Klassen 2 Methoden 3 Methoden formale Parameter 4 Parameterübergabe, Aufruf einer Instanzmethode Referenztypen als Argument Zugriffe in einer Instanzmethode 5 Datenkapselung 6 Überladen von Methoden 7 Variable Argumentliste 8 Laufanweisung für Felder 9 Methode tostring()
15 15 / 34 Parameterübergabe, Aufruf einer Instanzmethode Der Methodenaufruf muß in einem Ausdruck des entsprechenden Typs erfolgen. Syntax Instanzname. Methodenname (aktuelle Parameterliste) Der Instanzname gibt die Instanz an, deren Attribute bearbeitet werden sollen. Die aktuelle Parameterliste liefert zusätzliche Werte zur Bearbeitung Sie muß genauso viele Parameter vom passenden Typ besitzen wie die formale Parameter Liste. Ist die formale (und damit auch die aktuelle) Parameterliste leer, so müssen die runden Klammern trotzdem stehen.
16 Aufruf einer Instanzmethode Beispiel 16 / 34 class Punkt { double x, y ; void verschieben ( double dx, double dy ) { x += dx ; y += dy ;... Punkt p = new Punkt ( ) ; p. verschieben (10, 2 0 ) ;
17 Parameterübergabe, Aufruf einer Instanzmethode 17 / 34 Die aktuellen Parameter können beliebige Ausdrücke (von passendem Typ) sein, sie werden von links nach rechts ausgewertet. class Demo { i n t ausdruck ( i n t a, i n t b ) { return 2 a + 3 b ;... i n t i =1, j ; Demo d = new Demo ( ) ; j = d. ausdruck ( i ++, i ++); System. out. p r i n t l n ( i + + j ) ; / / 3 8
18 Parameterübergabe, Methodenaufruf 18 / 34 Beim Aufruf der Methode wird das aktuelle Argument ausgewertet und das Ergebnis in einer lokalen Variablen mit dem Namen des formalen Parameters abgelegt, d. h. es wird stets mit einer Kopie der übergebenen Daten gearbeitet. class Demo { i n t erhoehen ( i n t a ) { return ++a ;... i n t i =1, j ; Demo d = new Demo ( ) ; j = d. erhoehen ( i ) ; System. out. p r i n t l n ( i + + j ) ; / / 1 2
19 Referenztypen als Argument 19 / 34 Der aktuelle Parameter lässt sich durch Anweisungen innerhalb einer Methode nicht verändern. Achtung: bei Referenztypen gilt dies ebenso, aber nur für die Referenzvariablen, nicht für die referenzierten Größen (Feldelemente, Objekte, usw.) class Demo { void veraendern ( i n t [ ] f e l d ) { ++ f e l d [ 0 ] ;... i n t [ ] f = {1,5,3; Demo d = new Demo ( ) ; d. veraendern ( f ) ; System. out. p r i n t l n ( f [ 0 ] ) ; / / 2
20 Referenztypen als Argument 20 / 34 Die Referenzvariable selbst wird als Wert übergeben, kann also nicht verändert werden! class Demo { void nichtveraendern ( i n t [ ] f e l d ) { f e l d = new i n t []{66,77, 88,99;... i n t [ ] f = {1,5,3; Demo d = new Demo ( ) ; d. nichtveraendern ( f ) ; System. out. p r i n t l n ( f [ 0 ] ) ; / / 1
21 Zugriffe in einer Instanzmethode 21 / 34 Eine Instanzmethode darf zugreifen auf Instanzvariablen (*) Formale Parameter Lokale Variablen dieser Methode Aufrufe anderer Instanzmethoden (*) (*) Angabe des Instanznamens ist nicht nötig, die Instanz ist bereits bekannt! class Punkt {... void weitverschieben ( ) { verschieben (1000, 1000);... Punkt p = new Punkt ( ) ; p. verschieben ( 3 3, 4 4 ) ; p. weitverschieben ( ) ; / / p an verschieben weitergeben
22 Bemerkungen zu Methoden Lokale Variablen dürfen nicht den gleichen Namen wie ein formaler Parameter besitzen. Die aktuelle und formale Parameterliste müssen nicht die gleichen Bezeichner enthalten. Formale Parameter bzw. lokale Variablen dürfen den gleichen Bezeichner wie ein Attribut besitzen. Zur Unterscheidung schreibt man dann this.attributname this ist eine Referenz auf die aktuell bearbeitete Instanz der Klasse. class Gleichnamig { i n t x, y ; void speichern ( i n t x, i n t y ) { this. x = x ; this. y = y ;... Gleichnamig g l = new Gleichnamig ( ) ; g l. speichern ( 3 3, 4 4 ) ; / / t h i s e n t s p r i c h t g l 22 / 34
23 Gliederung 23 / 34 1 Definition von Klassen 2 Methoden 3 Methoden formale Parameter 4 Parameterübergabe, Aufruf einer Instanzmethode Referenztypen als Argument Zugriffe in einer Instanzmethode 5 Datenkapselung 6 Überladen von Methoden 7 Variable Argumentliste 8 Laufanweisung für Felder 9 Methode tostring()
24 Datenkapselung 24 / 34 Zur Datenkapselung kann die Sichtbarkeit der Elemente mit Hilfe von vorangestellten Modifizierern geregelt werden. Mögliche Modifizierer public Element kann von jeder Klasse verwendet werden. protected (später... ) nichts Standard-Rechte, auch friendly genannt. Element kann u. a. in der Klasse selber sowie in allen Klassen des gleichen Pakets verwendet werden. private Element kann nur von der eigenen Klasse verwendet werden. Datenelemente werden aus Gründen der Datenkapselung oft mit dem Modifizierer private versehen. Die Klasse selber darf nur Standardrechte oder public Rechte besitzen. In einer Datei dürfen mehrere Klassen definiert werden, jedoch darf nur eine davon public Rechte besitzen. Diese Klasse muss den gleichen Namen wie die Datei tragen.
25 Beispiel zur Klassendefinition und Datenkapselung 25 / 34 Nachfolgend wird der neue Datentyp Point definiert. class Point { private double x, y ; / / geschützt vor unberecht. Z u g r i f f public double getx ( ) { return x ; public double gety ( ) { return y ; void move ( double dx, double dy ) { x += dx ; y += dy ; public s t a t i c void main ( S t r i n g [ ] args ) { Point p = new Point ( ) ; / / b i l d e t Instanz der Klasse / / Point durch A u f r u f des / / Standardkonstruktors
26 Zugriff auf Elemente 26 / 34 Außerhalb der Klasse, d.h. in einer anderen Klasse, ist der Zugriff nur auf sichtbare Komponenten erlaubt. Diese sind folglich mit öffentlichen Zugriffsrechten (public) bzw. für den Fall, dass sich die Klasse im gleichen Verzeichnis befindet, mit Standardrechten ausgestattet. Syntax Instanzname.Komponenten Beispiel (erweiterte Klasse Point) bei Instanzkomponenten... / / im Hauptprogramm : System. out. p r i n t l n ( x Koodinate von p + p. getx ( ) ) ; System. out. p r i n t l n ( p. x ) ; / / s y n t a k t i s c h r i c h t i g,... / / aber Z u g r i f f verboten!
27 Gliederung 27 / 34 1 Definition von Klassen 2 Methoden 3 Methoden formale Parameter 4 Parameterübergabe, Aufruf einer Instanzmethode Referenztypen als Argument Zugriffe in einer Instanzmethode 5 Datenkapselung 6 Überladen von Methoden 7 Variable Argumentliste 8 Laufanweisung für Felder 9 Methode tostring()
28 28 / 34 Überladen von Methoden In Java können wie in C++ mehrere Methoden mit gleichem Namen in einer Klasse existieren. Beispiel double max ( double x, double y ) {... i n t max ( i n t x, i n t y ) {... Die Methoden müssen unterschiedliche Parameterlisten besitzen. Der Ergebnistyp ist frei wählbar. Allerdings ist es nicht erlaubt, dass sich die Methoden nur in ihrem Ergebnistyp unterscheiden. Signatur: Name und Parameterliste sind entscheidend.
29 Gliederung 29 / 34 1 Definition von Klassen 2 Methoden 3 Methoden formale Parameter 4 Parameterübergabe, Aufruf einer Instanzmethode Referenztypen als Argument Zugriffe in einer Instanzmethode 5 Datenkapselung 6 Überladen von Methoden 7 Variable Argumentliste 8 Laufanweisung für Felder 9 Methode tostring()
30 30 / 34 Variable Argumentliste Syntax Typ... Bezeichner Wird in der Methode als Feld vom angegebenen Typ interpretiert class F l e x i b e l { void ausgeben ( i n t... x ) { for ( i n t i =0; i <x. l e n g t h ; i ++) System. out. p r i n t l n ( x [ i ] ) ;... F l e x i b e l f = new F l e x i b e l ( ) ; f. ausgeben ( 1, 2, 3 ) ; / / d r e i einfache i n t / / 1 2 3
31 Gliederung 31 / 34 1 Definition von Klassen 2 Methoden 3 Methoden formale Parameter 4 Parameterübergabe, Aufruf einer Instanzmethode Referenztypen als Argument Zugriffe in einer Instanzmethode 5 Datenkapselung 6 Überladen von Methoden 7 Variable Argumentliste 8 Laufanweisung für Felder 9 Methode tostring()
32 32 / 34 Laufanweisung für Felder Syntax for (Komponententyp Bezeichner : Feldname )... Der Bezeichner durchläuft alle Feldelelemente. double [ ] x = {1.5, 2.3, 3. 7 ; / / bekannte Variante : for ( i n t i =0; i <x. l ength ; i ++) System. out. p r i n t l n ( x [ i ] ) ; / / neue Variante : for ( double x i : x ) System. out. p r i n t l n ( x i ) ; In dieser Variante: kein Zugriff auf Index i möglich bzw. nötig.
33 Gliederung 33 / 34 1 Definition von Klassen 2 Methoden 3 Methoden formale Parameter 4 Parameterübergabe, Aufruf einer Instanzmethode Referenztypen als Argument Zugriffe in einer Instanzmethode 5 Datenkapselung 6 Überladen von Methoden 7 Variable Argumentliste 8 Laufanweisung für Felder 9 Methode tostring()
34 class Punkt { double x, y ; public S t r i n g t o S t r i n g ( ) { return x +, + y ;... Punkt p = new Punkt ( ) ; System. out. p r i n t l n ( p ) ; / / r u f t t o S t r i n g ( ) auf / / Ausgabe : 0, 0 34 / 34 Methode tostring() Syntax public String tostring() { return...; // Attribute als Text tostring() wird automatisch aufgerufen, wenn eine String-Darstellung eines Objekts gebraucht wird z.b. bei der Ausgabe.
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
Einstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf
Einstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Methoden / Funktionen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick 2 Zweck von Methoden 3 Methodendefinition
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:
Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
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
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
Einstieg 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
Einstieg in die Informatik mit Java
1 / 17 Einstieg in die Informatik mit Java Methoden und Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick 2 Felder als Parameter bei Methoden 3 Feld
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
Klassenvariablen, 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
Einstieg 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
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
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
Einstieg 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
Einstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung
Variablenarten. 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
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
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
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
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
Java 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
Einstieg 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
Einstieg in die Informatik mit Java
1 / 21 Einstieg in die Informatik mit Java Felder, eindimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick: Was sind Felder? 2 Vereinbarung von Feldern
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)
Einstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Was sind Felder? 2 Vereinbarung von Feldern 3 Erzeugen von Feldern
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
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
Einstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Felder, mehrdimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Überblick: mehrdimensionale Felder 2 Vereinbarung
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
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
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
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
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
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
Klassen 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
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.
2. 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
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.
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
Felder - 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
Themen 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
Klassenmethoden. 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
Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 14.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung 14.1.08 1 / 11 Übersicht 1
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
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
Informatik II Übung 05. Benjamin Hepp 3 April 2017
Informatik II Übung 05 Benjamin Hepp benjamin.hepp@inf.ethz.ch 3 April 2017 Java package Hierarchie import.. nur noetig um Klassen aus anderen Packeten zu importieren Es kann auch immer der vollstaendige
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
Einstieg in die Informatik mit Java
1 / 15 Einstieg in die Informatik mit Java Zeichenketten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick: Zeichenketten 2 Zeichenketten 3 Erzeugen von Zeichenketten
Tag 7 Repetitorium Informatik (Java)
Tag 7 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
14. 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
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
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
Felder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 9.5.07 Übersicht 1 Was sind? 2 Vereinbarung von n 3 Erzeugen von n 4 Zugriff auf Feldkomponenten 5 Mehrdimensionale 6 als Objekte, Referenzen Kopieren
7. 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
1 Einleitung Generizität Syntax... 2
Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 1 1.1 Generizität................................ 1 1.2 Syntax.................................. 2 2 Realisierung 2 2.1 Compilierung generischer Klassen...................
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
Softwareentwicklung 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
14. 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
Programmierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden
Einstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Zeichenketten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Zeichenketten 2 Erzeugen von Zeichenketten 3 Operatoren für
Tag 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
Parameterübergabemechanismen für den Methodenaufruf
Methode, griech. der Weg zu etwas, planmäßiges Verfahren -Brockhaus Parameterübergabemechanismen für den Methodenaufruf Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw
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
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
Kapitel 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
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
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
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
n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen
n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 -
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
Einstieg in die Informatik mit Java
1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,
Einstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung
Universitä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
Java für Anfänger Teil 7: Methoden. Programmierkurs Manfred Jackel
Java für Anfänger Teil 7: Methoden Programmierkurs 11.-15.10.2010 Manfred Jackel 1 Methoden In der imperativen Programmierung sind Funktionen ein wichtiges Mittel zur Modularisierung. [Oft benötigter]
Kapitel 10 Delegationsvariablen
Kapitel 10 Delegationsvariablen Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Agenda Wie werden
Einstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung
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
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
Einstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
Computeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) Übungsorganisation Bringen Sie Ihren Labtop in die Übungen mit! 09.10.2017 CuP - VO 2 Programmieren 1. Definition der Aufgabe, die das Programm lösen soll. 2.
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?...
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
3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
Computeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) http://infotech.unileoben.ac.at/lehre/cup Der Debugger Mit Hilfe des Debuggers kann der Programmablauf schrittweise verfolgt werden. Dabei können auch Variableninhalte
Ü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
Ausnahmen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 27.6.
Ausnahmen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 27.6.07 G. Bohlender (IANM UNI Karlsruhe) Ausnahmen 27.6.07 1 / 8 Übersicht 1 Einführung
10.4 Konstante Objekte
10.4 Konstante Objekte Genau wie bei einfachen Datentypen (int,double,...) kann man auch Objekte als const deklarieren. Eine solche Deklaration bedeutet, daß alle Attribute so behandelt werden, als wären
11. 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
Geschachtelte Klassen
Geschachtelte Klassen Die Programmiersprache Java bietet nicht nur die Möglichkeit innerhalb von Klassen Datenfelder und Methoden zu definieren, sondern auch Klassen. Solche Klassen heißen en geschachtelte
Java Referenzdatentypen genauer betrachtet
Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen
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
Informatik II. Woche 13, Giuseppe Accaputo
Informatik II Woche 13, 30.03.2017 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Nachbesprechung Self-Assessment Test Nachbesprechung Übung 5 Java: Objektorientierte Programmierung Klassen und Objekte
Modellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 25. November 2015 Zweidimensionale Arrays [ ][ ] Ein zweidimensionaler
Einstieg in die Informatik mit Java
1 / 16 Einstieg in die Informatik mit Java Ausnahmen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Übersicht Ausnahmen 2 Klassenhierarchie 3 Try-Catch-Blöcke 4 Definition
Softwareentwicklung I (IB) Methoden. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München
Softwareentwicklung I (IB) Methoden Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 18.03.2018 20:09 Inhaltsverzeichnis Motivation..................................... 2 Definition......................................
Pakete. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Pakete Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 4.7.07 G. Bohlender (IANM UNI Karlsruhe) Pakete 4.7.07 1 / 8 Übersicht 1 Einführung
Programmiertechnik Klassenmethoden
Programmiertechnik Klassenmethoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation Programm zur Berechung von public class Eval1 { public static void main(string[] args) { java.util.scanner
Objektorientierung. Marc Satkowski 20. November C# Kurs
Objektorientierung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Weiterführende Verzweigungen Tertiäre-Verzweigung switch case 2. Schleifen Zählschleife (for) break & continue 3. Objektorientierung