Klassen und Methoden
|
|
- Edmund Bachmeier
- vor 7 Jahren
- Abrufe
Transkript
1 Klassen und Methoden Strukturierung von Daten und Programmen in Java strukturiertes Programmieren Der "prozedurale" Teil von Java wurde im vorigen Abschnitt behandelt. Um größere Projekte zu bearbeiten ist eine Strukturierung von Daten und Anweisungen unerläßlich. Kombination von Daten zu zusammengehörigen Datensätzen Verbindung der Datem mit Methoden zur Datenmanipulation Zerlegung des Programms in kleine überschaubare Einheiten (Klassen) Kapselung der Implementationsdetails in den betroffenen Klassen Wiederverwendung (Vererbung) von bereits generiertem Code getrennte Übersetzung der einzelnen Klassen effiziente Fehlerbehandlung gute Wartbarkeit
2 elementarer Typ Typen im Vergleich Referenztyp Feld Referenztyp Objekt Deklaration int i ; String[ ] Args ; Zaehler z ; // i == 0 i = 4711 // Args == null Args = new String[3] ; Args = new String []{ Test, Nr., 6 ; Zugriff i = (i + 2)*i i = Integer.parseInt(Args[2]); //String als int lesen Initialisierung Speicher- Inhalt eine Wert des entsprechenden Typs eine Referenz (Speicheradresse) auf ein Feld // z == null z = new Zaehler() ; z = new Zaehler(17); z.inkrementiere ; i = z.wert() ; eine Referenz (Speicheradresse) auf ein Objekt Methoden Methoden sind Programmstücke mit einem Namen und sind an Klammern (... ) hinter dem Namen erkennbar. Unter ihrem Namen kann eine Methode aufgerufen werden. Jede Methode verwaltet die ihr beim Aufruf in (..) übergebenen Parameter. Der Name der Methode und die Typen (=Klassennamen) der Parameter bilden die Signatur der Methode. Eine Methode kann einen Wert zurückgeben, dieser kann Wert eines elementaren Typs sein oder ein Objekt ( = Verweis auf einen komplexeren Datensatz). Keine Rückgabe wird durch void angedeutet. Eine Methode verändert meist die ihr übergebenen Parameter (Seiteneffekte).
3 Beispiel :Methoden Beispiel: out.println("variable x = " + x); out : Objekt out, das die Methode ausführt. Punktnotation. println : Name der Methode. "Variable x = " + x : String-Parameter, der der Methode übergeben wird. ; Abschluß der Methode. Beispiel: z.incrementiere(); z : Objekt z, das die Methode ausführt. Punktnotation. increment : Name der Methode. () : leere Parameterliste. ; Abschluß der Methode. Blöcke Wir haben schon gesehen, daß man zusammengehörige Anweisungen durch { -Klammerung zu einem Block (einer Anweisung) zusammenfassen kann. Über diese reine Strukturierung hinaus kann man Blöcke auch als eine Art Methoden auffassen, die jedoch keinen Namen und keine eigene Parameterverwaltung besitzen. Da ein Block keinen Namen besitzt, kann er an anderer Stelle nicht wieder aufgerufen werden, er ist deshalb als Methode nur für einmalige Aktionen, insbesondere für Initialisierungen geeignet.
4 Klassen Eine Klasse ist ein Referenz-Datentyp, der neben seinem Datenbereich auch Methoden zur Behandlung dieser Daten besitzt. Klasse Datenbereich Klassenvariablen (static) Instanzvariablen Methoden Klassenmethoden (static) Instanzmethoden eingebettete Klassen class Rechnung { static long nr = 0; final long nummer = ++nr; Date datum = new Date();... Was bedeutet das Wort static? Was bedeutet das Wort final? Beispiel : Rechnung (1)
5 Objekte Klassen legen definitorisch die Eigenschaften von den in ihnen verwalteten Datensätzen fest (Datentypen). Objekte sind dann Instanzen (Realisationen) von Klassen, in denen die Datensätze gemäß der Klassendefinition konkret angelegt und mit Werten besetzt werden (Variablen des Datentyps der Klasse). Ein Objekt hat (bis auf Ausnahmefälle) einen Namen unter dem eine Referenz (Zeiger, Verweis) auf den zugehörigen Datensatz im Speicher festgelegt ist. Unter dem Objektnamen kann (mit Punktnotation) auf die einzelnen Datenbereiche wie auch auf die Methoden des Objekts zugegriffen werden, soweit es die von Java kontrollierten Zugriffsrechte zulassen. Beispiel: Rechnung (2) Die Klasse Rechnung beschreibt, wie eine Rechnung auszusehen hat, ihre Instanzen (mit new erzeugt) sind dann konkrete Rechnungen. Das Wort static vor der long Zahl nr bedeutet, daß sie zur Klasse gehört und deshalb nur einmal für alle Instanzen gemeinsam erzeugt wird. Alle Variablen ohne die Modifikation static sind Instanzvariablen, d.h. sie werden beim Erzeugen einer Instanz speziell für diese Instanz neu erzeugt und nur von ihr verwaltet. Das Wort final vor der long Zahl nummer bedeutet, daß diese Zahl zwar gelesen, aber außer bei der Initialisierung nicht mehr beschrieben werden kann (sie ist konstant).
6 Interaktion von Objekten Jedes Java Programm erzeugt beim Ablauf verschiedene Objekte, die jeweils ihren eigenen Datenbereich besitzen und ihre Dienste anderen Objekten in Form von Methoden anbieten. ein Methodenaufruf besteht also aus der Übertragung der Parameter (-Referenzen) an das anbietende Objekt, das dann mit Zugriff auf diese Parameter die angeforderte Methode ausführt. Ein Sytem von Zugriffsberechtigungen, die über die Zusätze private, public, protected modifiziert werden können, ermöglicht eine ausgefeilte Sicherheitsstruktur in Java Programmen. //Parameter.java import java.io.*; Beispiel: Parameter (1) class Parameter { static void m(int i, Zaehler z) { i++ ; z.inkrementiere(); static void main(string[] args) { PrintWríter out = new PrintWriter(System.out, true); int a = 2; Zaehler b = new Zaehler(); b.wert = 2; out.println(a + " " + b.wert()); m(a,b); out.println(a + " " + b.wert());
7 Beispiel: Parameter (2) In main werden zunächst out, a und b deklariert und initialisiert, dann der Zähler b auf 2 gesetzt. a und der Zählerwert 2 werden ausgegeben. Der Aufruf von m erzeugt neue Elemente i und z die durch Parameterübergabe mit den Werten 2 und (Zeiger auf) b initialisiert werden i wird erhöht a 2 b z.wert (b.wert) wird erhöht wert beim Verlassen von m 23 werden i, z aufgegeben. i 23 z Die Ausgabe liefert nun 2 3, weil a nicht geändert wurde, aber b.wert. Variablen treten uns in Java in folgenden Rollen entgegen: 1.Klassenvariablen, die einmal pro Klasse angelegt werden. Variablen 2.Instanzvariablen, die für jedes Objekt neu angelegt werden. 3.Feldkomponenten, die bei der Erzeugung eines Feldes angelegt werden. 4.Methodenparameter,sie werden beim Aufruf der Methode angelegt und nach Abarbeitung des Methodenrumpfes aufgegeben. 5. Methoden-Rückgabe, sie ist unbenannt uns steht nur noch unmittelbar nach Abarbeitung des Methodenrumpfes für eine Zuweisung zur Verfügung, danach wird sie aufgegeben. 6.lokale Variablen eines Blocks (z.b. for-anweisung), die im Block angelegt und beim Verlassen des Blocks aufgegeben werden.
8 Klassendeklaration Durch eine Klassendeklaration wird ein neuer Referenztyp definiert. Er besteht aus folgenden (z.t. optionalen) Bestandteilen: 1.opionale Modifizierer (z.b. static, public, abstract, final,...), die spezielle Attribute (Zugriffsrechte) der Klasse festlegen 2.das Schlüsselwort class 3.Name, einem Bezeichner, mit dem die Klasse benannt wird. 4.optionales extends mit nachfolgendem Klassennamen 5.optionales implements mit nachfolgender Liste von Interfacenamen. 6.der Klassen-Rumpf, der die Deklarationen einer beliebigen Anzahl von Variablen, Initialisierungen, Methoden, Konstruktoren und eingebetteten Klassen enthält. Methodendeklaration Durch eine Methodendeklaration wird eine neue Methode definiert. Sie besteht aus folgenden (z.t. optionalen) Bestandteilen: 1.opionale Modifizierer (z.b. static, public, abstract, final,...), die spezielle Attribute (Zugriffsrechte) der Methode festlegen 2.void oder dem Typ des Resultats, das die Methode zurückgibt 3.Name, einem Bezeichner, mit dem die Methode benannt wird. 4.in ( ) eingeschlpossene Liste der Methodenparameter mit ihrem Typ. Die Klammern ( ) müssen auch stehen, wenn die Parameterliste leer ist! 5.optionale throws -Klausel, die anzeigt, welche Ausnahmen (Fehler) durch einen Aufruf der Methode ausgelöst werden könnten. 6.der Methoden-Rumpf, der die Folge von Anweisungen (durch ; getrennt) enthält, die die Funktionalität der Methode ausmachen.
9 Beispiel Timer (1) class Timer { int min, sec, msec; void stellen(int i, int j, int k) { min = i; sec = j; msec = k; void tick() { if (++msec == 1000) { msec = 0; if (++sec == 60) { sec = 0; min++; String zeigean() {return min +"."+ sec +","+ msec +" sek\n" ; Nun kann timer wie jeder andere Typ (z.b. int,..) benutzt werden Zugriffe Innerhalb einer Klasse kann man auf deren Elemente mit deren Namen zugreifen: Class Zugriff { void g(){...f();...; void f(){... Auf Elemente, die nicht in der Klasse deklariert sind, muß das Element mit dem Namen des Objektes (bzw. der Klasse) referenziert sein (Punkt-Notation), aus dem das Element angesprochen wird. system.out.println(min+"."+sec+","+msec+" sek");
10 Wertübergabe Methoden (z.b. zeigean) können auch Werte übergeben Beispiel: in Timer wird noch eine Methode eingefügt: int[] liesab() { int[] werte = {min, sec, msec;//lokale Variable return werte; Diese Methode erzeugt ein Integerfeld (lokale Variable), das mit den aktuellen Angaben aus Timer initialisiert wird und dann so ausgegeben wird (return-anweisung). Zum Abschluß von liesab steht eine Referenz auf das Feld für eine Zuweisung oder Parameterübergabe bereit, die lokale Variable werte wird dabei aufgegeben. Klassenmethoden Auch Methoden können mit dem Modifikator static der Klasse (nur indirekt ihren Instanzen) zugeordnet werden, sofern sie ausschließlich Klassenvariablen, ihre Parameter und lokale Variablen verwenden. vgl. dazu Parameter.m und die main-methoden. Klassenmethoden können schon aufgerufen werden, bevor eine Instanz der Klasse erzeugt wurde (z.b. main) Deshalb können Klassenmethoden auch nur auf Klassenvariablen und nicht auf Instanzvariablen zugreifen. Beispiele sind etwa: Math.random, Math.sqrt, Integer.parseInt, System.out.println, System.in.readLine
11 Konstruktor Wieso stehen nach new hinter dem Klassennamen Klammern () wie bei einer Methode? Es gibt eine Methode ohne Parameter (den Konstruktor), die genauso heißt wie die Klasse (wo?) und bei new wird der Konstruktor aufgerufen. Java stellt automatisch den "Standardkonstruktor" zur Verfügung, wenn der Programmierer keinen schreibt (sonst wird der Standardkonstruktor überschrieben). Man kann auch mehrere Konstruktoren für eine Klasse schreiben, wenn sie sich in ihren Parameter-typen unterscheiden ( überladen). Konstruktoren sind zur Initialisierung und Einrichtung der Instanzvariablen da, sie können deshalb nicht static sein. Konstruktor als Methode Der Konstruktor trägt den Namen der Klasse und hat keinen Rückgabetyp (denn der steckt in seinem Namen). Ein Konstruktor kann von new aufgerufen werden oder explizit als erste Anweisung von einem anderen Konstruktor aufgerufen werden. Ein Konstruktor besitzt keine return-anweisung obwohl er mit new ein Objekt (Referenz) des gleichnamigen Typs zurückgibt. Ein Konstruktor wird ausschließlich bei der Neueinrichtung (new) einer Instanz der gleichnamigen Klasse verwendet. Hat eine Klasse keinen expliziten Konstruktor, gibt Java ihr automatisch den Standardkonstruktor, der alle Instanzvariablen mit Nullwerten initialisiert.
12 Beispiel Timer (2) Zur Klasse Timer könnte man z.b. folgende Konstruktoren konzipieren: Timer(int m, int s, int t ) { min = m ; sec = s, msec = t Timer() {this.timer(0,0,0) Timer(String s) { this.timer(0,0,0) ; int i = 0; while((s.charat(i)!='.')&(i<s.length()) min =10*min + s.charat(i++) - '0' ; i++; while((s.charat(i)!=',')&(i<s.length()) sec =10*sec + s.charat(i++) - '0' ; i++; while(i<s.length() msec =10*msec + s.charat(i++) - '0' ; //Eingabe in der Form m.. m.s.. s,t.. t Überladen von Methoden Wie bei Konstruktoren können auch andere Methoden überladen werden, d.h. es kann mehrere Methoden mit demselben Namen geben. Zwei Methoden desselben Namens (in einer Klasse) müssen sich durch ihre Signatur (die Folge der Typen ihrer Parameter) unterscheiden. String repeat(string s, int mal){... String repeat(int mal, String s){... sind zulässig int ggt(int x, int y){... int ggt(int u, int v){... //unzulässig, da gleiche Signatur int verschiebe(int dx, int dy){.... void verschiebe(int dx, int dy){... //unzulässig, da gleiche Signatur (Rückgabetyp gehört nicht zur Signatur!)
13 initialisierung von Klassen Konstruktoren initialisieren die Instanzen von Klassen, aber was ist mit den Klassenvariablen? Gewöhnlich initialisiert man Klassenvariablen bei ihrer Deklalration, man kann aber auch einen oder mehrere Blöcken mit dem static-modifikator davor verwenden, um komplexere Initialisierungen der Klasse (vor der ersten Instanziierung) durchzuführen. static {... nennt man daher auch static Initialisierer. Diese Initialisierer werden häufig dann eingesetzt, wenn Resourcen, wie z.b. Dateien Netzanbindungen etc., für die Klasse und ihre Instanzen bereitgestellt werden müssen. Objektzerstörung Bevor ein Objekt aufgegeben wird kann es nötig sein, die für dieses Objekt bereitgestellten Resourcen freizugeben. Für diesen Zweck gibt es eine Methode finalize, die in der Form: protected void finalize() throws Throwable {... definiert sein muß. Es macht keinen Sinn, für die Speicherrückgabe einen Finalizer zu definieren, aber für ander Resourcen wie Drucker, Netzwerk, Dateien ist eine Rückgabe vor Beendigung angebracht. finalize wird automatisch vor der Aufgabe des Objektes aufgerufen.
14 Javas Wertaufruf-Parameter Java kennt für die Methodenparameter ausschließlich den Wertaufruf, d.h. der Parameter wird der Methode als berechneter Wert übergeben und daher kann die Methode den Parameter nicht verändern. Da aber bei allen Typen, außer den elementaren Typen, dieser unveränderliche Wert die Referenz auf das Objekt ist, bedeutet das, daß keine Methode die Objekte selbst verändern kann, wohl aber (mittels dieser Referenz) die Eigenschaften(Variablen) des übergebenen Objekts) void swap(x x, X y) {X temp = new X(); temp = x; x=y; y=temp; hat keinerlei Effekt auf die übergebenen Parameter!! void incr(timer y){y.tick(); erhöht die Zeitangabe um eine msec. Referenz-Aufruf Da für alle nicht elementaren Typen immer Referenzen als Parameter übergeben werden, handelt es sich dabei praktisch um einen Referenzaufruf. Will man bei elementaren Parametertypen trotzdem den Effekt des Referenzaufrufs erzeugen ( Werte verändern ), so muß man statt der elementaren Datentypen boolean, byte, char, short, int, long, float, double deren Hüllklassen Boolean, Byte, Character, Short, Integer, Long, Float und Double verwenden, die jeweils einen Zeiger auf ein Feld des jeweiligen Typs realisieren. Verwendung: Integer x = new Integer(1234) int i = x.intvalue()
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)
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
MehrRepetitorium 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
Mehr5 Vererbung. Subklassen, Superklassen, Pakete Zugriffsrechte
5 Vererbung Subklassen, Superklassen, Pakete Zugriffsrechte Wiederverwendung von Code Konventionelle Methode: Wähle einen Quelltext, der ein ähnliches Problem bearbeitet und passe diesen Text auf das neue
MehrGrundelemente 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
MehrGrundelemente 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
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
MehrGrundelemente 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
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:
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
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
MehrMethoden. 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
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
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
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
MehrTag 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
MehrEinstieg 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
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
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
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.
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
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
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
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
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
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
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
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 / 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
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
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
MehrObjektorientierte 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
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
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
Mehr1 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
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
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
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
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrFolienpaket 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
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
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]
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.......................
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
Mehr3 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
MehrC# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
Mehr2.9 Klassen und Objekte
2.9 Klassen und Objekte Mit einer Klassendeklaration definiert man neue Referenztypen und legt gleichzeitig deren Implementation fest. Jede Klasse (außer Object) ist implizit Subklasse der Klasse Object;
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung 2 Einordnung in den Softwareentwicklungsprozess Softwareentwicklung mit JAVA Planung Entwurf Programmierung Test/Evaluation/Pflege
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
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile
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
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:
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
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:
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
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
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
MehrObjektorientierung (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
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind ausgewählte
MehrJAVA - Methoden
Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können
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.
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)
MehrAlgorithmen 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
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
MehrProzeduren vs. Funktionen
Prozeduren vs. Funktionen Mit der Formalisierung wird auch der Unterschied zwischen Prozeduren und Funktionen noch einmal klar. Der Aufruf beider Varianten bewirkt zunächst das Gleiche: die Eingabevariablen
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
MehrKlassen 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
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.
MehrGeschachtelte 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
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
Mehr3.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
MehrJavakurs 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
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
MehrJavaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden
Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter
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.
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, Polymorphie und innere Klassen 2 Vererbung im Klassendiagramm (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Object
MehrEinfü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
MehrJAVA - Methoden - Rekursion
Übungen Informatik I JAVA - Methoden - Rekursion http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 1 Methoden Methoden sind eine Zusammenfassung von Deklarationen und Anweisungen
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
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
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
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
MehrGrundlagen der Objektorientierten Programmierung - Methoden -
Methoden In ihrem formalen Aufbau entsprechen Java-Methoden den Funktionen in C und C++. Eine Methode dient dazu, eine häufig benötigte Folge von Anweisungen unter einem Namen zusammenzufassen und zum
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
MehrMartin 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
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
MehrAlgorithmen 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
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
MehrTeil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
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
MehrEin String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient.
Strings Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient. Beispiel: String zeile = "Cusanus-Gymnasium Wittlich";
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
MehrDr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 12/13 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrFragen 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?...
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
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
MehrProgrammierkurs. Manfred Jackel
Java für Anfänger Teil 7: Methoden Programmierkurs 06.-10.10.2008 Manfred Jackel 1 Methoden In der imperativen Programmierung sind Funktionen ein wichtiges Mittel zur Modularisierung. [Oft benötigter]
Mehr