Liste Programmieren Java Überblick
|
|
- Helene Breiner
- vor 5 Jahren
- Abrufe
Transkript
1 Liste Programmieren Java Überblick 1 Was ist Java? 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe 10 Threads 11 GUI-Programmierung mit SWING Prof. Dr. Björn Dreher Liste Programmieren - Java 33 Liste Programmieren Java Überblick: 2. Klassen und Objekte 2.1 Einleitung 2.2 Kapselung 2.3 Ein Stack von chars 2.5 Statische Methoden und Attribute 2.7 Objektreferenzen Prof. Dr. Björn Dreher Liste Programmieren - Java 34
2 2. Klassen und Objekte 2.1 Einleitung Motivation Softwaresysteme sind in den letzten Jahren immer komplexer geworden Dies erfordert ein immer höheres Abstraktionsvermögen, um die Komplexität zu meistern Hinzu kommt der Bedarf nach wiederverwendbarem Code Weiterhin nimmt neben der eigentlichen Problemlösung die Benutzeroberfläche einen immer höheren Stellenwert ein Beides wird durch eine objektorientierte Vorgehensweise erleichtert Prof. Dr. Björn Dreher Liste Programmieren - Java Klassen und Objekte 2.1 Einleitung Objektorientiert heißt, dass Software als eine Kollektion von Objekten organisiert wird, die beides, Zustand (Datenstruktur) und Verhalten (Funktionen) in sich vereinen Objektorientierte Programmiersprachen verallgemeinern das Typkonzept herkömmlicher Programmiersprachen: Neben den (eventuell wieder strukturierten) Attributen (mit Werten) können auch Methoden (Funktionen) Bestandteil der Datenstruktur sein. Klassen sind Mengen von Objekten mit der gleichen Struktur: gleiche zugreifbare Komponenten (Attribute) und gleiches Verhalten (ausführbaren Methoden). Prof. Dr. Björn Dreher Liste Programmieren - Java 36
3 2. Klassen und Objekte 2.1 Einleitung Drei Schlüsselbegriffe Kapselung, Vererbung und Polymorphismus. Vererbung: Klassen können in einer Spezialisierungs-Hierarchie angeordnet werden Speziellere Klassen erben von allgemeineren deren Struktur und Methoden Kfz spezialisiert sich zu Pkw und Lkw. Superklasse Bäume, Unterklassen Laubbäume, Nadelbäume. Polymorphismus Instanzen von verschiedenen Klassen aus einer gemeinsamen Vererbungshierarchie zeigen bei gleichnamigen Methodenaufrufen unterschiedliches Verhalten Prof. Dr. Björn Dreher Liste Programmieren - Java 37 Liste Programmieren Java Überblick: 2. Klassen und Objekte 2.1 Einleitung 2.2 Kapselung: Ein Stack von chars 2.5 Statische Methoden und Attribute 2.7 Objektreferenzen Prof. Dr. Björn Dreher Liste Programmieren - Java 38
4 2.3 Ein Stack von chars Stack als Klasse public class CharStack { // Konstante private final static int EMPTY = -1; // Attribute private int top; private int maxlen; private char [] s; // Methoden public CharStack(int len) { s = new char[len]; maxlen = len; top = EMPTY; Klassenkonstante Konstruktor Prof. Dr. Björn Dreher Liste Programmieren - Java Ein Stack von chars Stack als Klasse (fortgesetzt) public void push(char c) { top++; s[top] = c; public char pop() { return s[top--]; public char topof() { return s[top]; public boolean isempty() { return (top == EMPTY); public boolean isfull() { return (top == maxlen-1); ; Methoden können Attribute nutzen, ohne sie irgendwie qualifizieren zu müssen Attribute gehören zur selben Einheit wie Methoden Methoden bearbeiten ihre Attribute Klasse ist Gültigkeitsbereich der Bezeichner Prof. Dr. Björn Dreher Liste Programmieren - Java 40
5 2.3 Ein Stack von chars Beispiel für Nutzung CharStack data, operands;... data = new CharStack(100); operands = new CharStack(50);... data.push('1'); operand.push('+'); data.push('5');... while (!data.isempty()) { System.out.println( Gepopped: + data.pop());... Kurze Schreibweise CharStack data = new CharStack(100); CharStack operands = new CharStack(50);... Referenzen auf Objekte des Typs CharStack Explizite Erzeugung des Objektes, Wertzuweisung auf Referenz, Aufruf des Konstruktors Aufruf von Methoden Prof. Dr. Björn Dreher Liste Programmieren - Java Ein Stack von chars Überladen einer Methode Unterscheidung durch Signatur Methodenname, Anzahl Parameter, Typen der Parameter Rückgabetyp geht dabei nicht ein Beispiel (wenn auch nicht sehr sinnvoll) Zusätzliche Funktion pop mit einem int Parameter, der die Anzahl von Elementen, die gepoppt werden sollen, angibt (Ergebnis ist nur das letzte Element) public char pop() { return s[top--]; public char pop(int n) { while (n-- > 1) top--; return s[top--]; n >= 1 angenommen Prof. Dr. Björn Dreher Liste Programmieren - Java 42
6 2.3 Ein Stack von chars Aufrufe data.pop(); data.pop(5); // Standard pop Operation // Mehrfache pop Operation Wie bei jeder Objekt-Variablen werden durch CharStack s, t, u; zunächst nur drei Referenzen auf Stacks definiert Die eigentlichen Objektinstanzen müssen noch erzeugt werden: s = new CharStack(10); t = new CharStack(100); u = new CharStack(1000); Prof. Dr. Björn Dreher Liste Programmieren - Java Ein Stack von chars Für jede Instanz gilt: Jede hat ihren privaten Datenbereich Die Methoden können auf ihre Daten angewandt werden Sie sind fester Bestandteil der Klasse Zugriffsrechte private protected package (kein Schlüsselwort!) public Genauer später! Prof. Dr. Björn Dreher Liste Programmieren - Java 44
7 Liste Programmieren Java Überblick: 2. Klassen und Objekte 2.1 Einleitung 2.2 Kapselung 2.3 Ein Stack von chars 2.5 Statische Methoden und Attribute 2.7 Objektreferenzen Prof. Dr. Björn Dreher Liste Programmieren - Java 45 Eigene Klasse Socke: class Socke { public String farbe; // Öffentlich sichtbar public int gewicht; // Öffentlich sichtbar private boolean isttrocken; // Außen nicht sichtbar public void trockne() { isttrocken = true; // Methoden sind meist // öffentlich public void wasche() { isttrocken = false; public boolean isttrocken() { return isttrocken; Prof. Dr. Björn Dreher Liste Programmieren - Java 46
8 Eigene Klasse SockenDemo: Nicht initialisierte Referenz class SockenDemo { public static void main(string args[]) { Socke meinesocke; meinesocke = new Socke(); Erzeuge neues Objekt meinesocke.farbe = "rot"; Rufe Konstruktor auf meinesocke.gewicht = 565; Weise Referenz zu meinesocke.wasche(); System.out.println("Ist die Socke trocken? " + meinesocke.isttrocken()); Prof. Dr. Björn Dreher Liste Programmieren - Java 47 Parameterübergabe Objekte immer als Referenzen: class Waschmaschine { static void auswaschen(socke s) { s.farbe = "weiß"; public class ZuOftGewaschen { public static void main(string args[]) { Socke omissocke = new Socke(); omissocke.farbe = "schwarz"; System.out.println(omisSocke.farbe); Waschmaschine.auswaschen(omisSocke); System.out.println(omisSocke.farbe); Übergabe Objektreferenz Prof. Dr. Björn Dreher Liste Programmieren - Java 48
9 Die this-referenz Wird (unsichtbar) an jeden Konstruktor und jede Methode übergeben Zeigt auf aktuelles Objekt Anwendungen Nutzung überdeckter Objektvariablen (Attribute) Hintereinanderschalten mehrerer Methodenaufrufe für dasselbe Objekt Prof. Dr. Björn Dreher Liste Programmieren - Java 49 Die this-referenz Nutzung überdeckter Objektvariablen (Attribute) class Punkt { int x, y; void setzeposition(int x, int y) { this.x = x; this.y = y; Prof. Dr. Björn Dreher Liste Programmieren - Java 50
10 Die this-referenz Hintereinanderschalten mehrerer Methodenaufrufe für dasselbe Objekt public class GoOn { private int value; public int getvalue() { return value public GoOn inc() { value++; return this; Liefert Referenz auf sich selbst zurück public static void main(string args[]) { System.out.println(new GoOn().inc().getValue()); // 1 GoOn ref = new GoOn(); ref.inc().inc().inc(); System.out.println( ref.getvalue() ); // 3... Prof. Dr. Björn Dreher Liste Programmieren - Java 51 Graphische Darstellung einer Klasse Unified Modeling Language (UML) Socke +farbe: String +gewicht: int -isttrocken: boolean +trockne(): void +wasche(): void +isttrocken: boolean Name der Klasse Attribute + : public - : private Methoden Prof. Dr. Björn Dreher Liste Programmieren - Java 52
11 Assoziation zwischen Klassen Austausch von Nachrichten zwischen Objekten Objekte müssen sich kennen Es besteht eine Assoziation zwischen ihnen Wichtigstes Mittel zur Bildung von Objektverbänden Socke +farbe: String +gewicht: int - isttrocken: boolean +produzent: Hersteller produzent Hersteller Socke kennt Ihren Hersteller Hier: Gerichtete Assoziation Einfache Realisierung mit Hilfe einer Referenz produzent Prof. Dr. Björn Dreher Liste Programmieren - Java 53 Klassen Socke und Hersteller: class Socke { public String farbe; public int gewicht; private boolean isttrocken; public Hersteller produzent;... class Hersteller { //... Prof. Dr. Björn Dreher Liste Programmieren - Java 54
12 Sichtbarkeiten Innerhalb einer Klasse sind alle Attribute und Methoden sichtbar Sichtbarkeit außerhalb der Klasse private von außen nicht zugreifbar public von überall außen zugreifbar keine Angabe von allen Klassen desselben Packages zugreifbar protected (in Verbindung mit Vererbung) Von allen Nachfahrenklassen und von allen Klassen desselben Packages zugreifbar Prof. Dr. Björn Dreher Liste Programmieren - Java 55 Sichtbarkeiten: Beispiel class Password { private String pass = ""; void setpassword(string oldpass, String newpass) { if (oldpass!= null && oldpass.equals(pass)) { pass = newpass; System.out.println("Passwort gesetzt!"); else System.out.println("Passwort konnte nicht gesetzt " + "werden!"); Prof. Dr. Björn Dreher Liste Programmieren - Java 56
13 Sichtbarkeiten: Beispiel: Hauptprogramm public class PassDemo { public static void main(string args[]) { Password pwd = new Password(); pwd.setpassword("", "Geheim"); pwd.setpassword("geheim", "NeuGeheim"); System.out.println(pwd.pass); // Fehler!!! Attribut pass ist private! Prof. Dr. Björn Dreher Liste Programmieren - Java 57 Sichtbarkeiten: Regeln Attribute sind meistens private Zugriff über public Methoden Lokale Methoden können private sein Gruppen von Klassen können über Default-Sichtbarkeiten (package) miteinander kommunizieren Bei Vererbung werden Methoden und Attribute, die von der Nachfahrenklasse (und von Klassen im selben Package) verwendet werden sollen, aber nicht von anderen Klassen, als protected gekennzeichnet Prof. Dr. Björn Dreher Liste Programmieren - Java 58
14 Zugriffsmethoden für Attribute Direkter Zugriff kann von Nachteil sein Einhaltung von Wertebereichen set-zugriffsmethode kann dies sicherstellen Abhängigkeiten zwischen mehreren Attributen Kontostand und Soll/Haben-Attribut Geheimnisprinzip für interne Realisierung Datentyp kann durch Zugriffsmethode abgeschottet werden Übliche Vorgehensweise: Attribute sind private Es gibt öffentliche Zugriffsmethoden: get- und set-methoden Prof. Dr. Björn Dreher Liste Programmieren - Java 59 Zugriffsmethoden für Attribute class Person { private int age; public int getage() { return age; public void setage(int age) { if (age >= 0) this.age = age; Prof. Dr. Björn Dreher Liste Programmieren - Java 60
15 Liste Programmieren Java Überblick: 2. Klassen und Objekte 2.1 Einleitung 2.2 Kapselung 2.3 Ein Stack von chars 2.5 Statische Methoden und Attribute 2.7 Objektreferenzen Prof. Dr. Björn Dreher Liste Programmieren - Java Statische Methoden und Attribute Normale Attribute und Methoden Immer mit genau einer Objektinstanz verbunden Attribute kennzeichnen den Zustand dieses Objektes Methoden ändern oder lesen den Zustand dieses Objektes Klassenattribute Nicht mit bestimmter Objektinstanz verbunden Gehört zur Klasse alleine Existiert nur einmal pro Klasse Gleich für alle Objektinstanzen Integer.MAX_INTEGER Math.PI Math.E Zähler der existierenden Instanzen Prof. Dr. Björn Dreher Liste Programmieren - Java 62
16 2.5 Statische Methoden und Attribute Klassenmethoden Nicht mit bestimmter Objektinstanz verbunden Gehört zur Klasse alleine Unabhängig von Objektattributen Kann sie nicht benutzen Beispiele Math.sin(double x) Math.max(int a, int b) main-funktion einer Klasse Erzeugt oft erst eine Instanz der Klasse Prof. Dr. Björn Dreher Liste Programmieren - Java Statische Methoden und Attribute Realisierung von Klasseneigenschaften Schlüsselwort static Daher auch: Statische Eigenschaften class LittleHelpers { static double PI2 = Math.PI * Math.PI; static double half(double x, double y) { return (x+y)/2.0; public class StaticUser { public static void main(string args[]) { System.out.println( LittleHelpers.half(LittleHelpers.PI2, Math.E) ); Prof. Dr. Björn Dreher Liste Programmieren - Java 64
17 2.5 Statische Methoden und Attribute Statische Eigenschaften als Objekteigenschaften nutzen Jedes Objekt hat auch Zugriff zu den Klasseneigenschaften LittleHelpers lh = new LittleHelpers(); System.out.println( lh.pi2 ); System.out.println( LittleHelpers.PI2 ); Empfehlung: Zugriff über Klassenbezeichner Klassenmethoden rufen üblicherweise wieder Klassenmethoden auf Für Objektmethoden muss ein Objekt vorhanden sein Klassenmethoden gibt es immer, wenn es die Klasse gibt Objektmethoden sind nur aufrufbar, wenn es eine Objektinstanz gibt Aus Objektmethoden können ohne weiteres Klassenmethoden aufgerufen werden Prof. Dr. Björn Dreher Liste Programmieren - Java Statische Methoden und Attribute Statische Methoden können nur auf Klassenattribute zugreifen Es existiert für sie keine implizite Objektinstanz Auch die this-referenz steht nicht zur Verfügung class Falsch { int a; static void klassenmethode() { a = 1; this.a = 2; Falsch: Kein Klassenattribut Falsch: this-referenz existiert nicht Prof. Dr. Björn Dreher Liste Programmieren - Java 66
18 2.5 Statische Methoden und Attribute Klassenattribute existieren nur einmal pro Klasse Alle Objektinstanzen teilen sich diese Attribute Alle Objekte können sie lesen und verändern Könnte zum Austausch von Informationen zwischen Objekten benutzt werden Analog zu globalen Variablen bei herkömmlicher Programmierung Problematiken: Keine Kapselung Fehlerverursacher schwer zu finden Probleme bei nebenläufigen Zugriffen Prof. Dr. Björn Dreher Liste Programmieren - Java Statische Methoden und Attribute Groß-/Kleinschreibung hilft beim Unterscheiden zwischen Klassenund Objekt-Eigenschaften Klassennamen beginnen mit Großbuchstaben Attribut- und Methodennamen beginnen mit Kleinbuchstaben Math.max(a, b) Math eine Klasse max(a, b) ist Klassenmethode Socke s = new Socke(); s.wasche(); s ist Objektreferenz wasche() ist Objektmethode System.out.println("Hello world!"); out ist Klassenattribut der Klasse System, referenziert ein Objekt println(" ") ist Objektmethode dieses Objektes Prof. Dr. Björn Dreher Liste Programmieren - Java 68
19 2.5 Statische Methoden und Attribute Konstanten Statische Variablen mit dem Zusatz final class SockenTyp { static final int PUNKTIERT = 1, GEFLECKT = 2, GESTREIFT = 3; Spätere Schreibzugriffe sind nicht möglich Namen von Konstanten werden üblicherweise großgeschrieben Unterstrich zur Trennung von Wortteilen: PI_QUADRAT Prof. Dr. Björn Dreher Liste Programmieren - Java 69 Liste Programmieren Java Überblick: 2. Klassen und Objekte 2.1 Einleitung 2.2 Kapselung 2.3 Ein Stack von chars 2.5 Statische Methoden und Attribute 2.7 Objektreferenzen Prof. Dr. Björn Dreher Liste Programmieren - Java 70
20 Erzeugung Mit dem new-operator Speicherbereich: Heap (Haufen), System-Speicherbereich für dynamische Datenstrukturen Vernichtung In Java automatisch durch den Garbage-Collector Wenn das Objekt nicht mehr referenziert wird Garbage-Collector läuft im Hintergrund in bestimmten Zeitabständen Prof. Dr. Björn Dreher Liste Programmieren - Java 71 Erzeugung im Detail new-operator legt Speicherbereich für Objekt aufgrund der Klassendefinition an Bestimmte Methode (Konstruktor) wird zur Initialisierung des Objektes aufgerufen Hat den Namen der Klasse (großgeschrieben, wie die Klasse) Hat keinen Ergebnistyp Wird oft mit verschiedenen Parameterversorgungen (Signaturen) überladen Initialisierung des Objektes zu einem konsistenten Zustand Wenn kein anderer Konstruktor definiert ist, wird automatisch der Default-Konstruktor erzeugt Ohne Parameter Macht nichts Kann auch explizit definiert werden Referenz auf Objekt als Ergebnis Prof. Dr. Björn Dreher Liste Programmieren - Java 72
21 Konstruktor-Beispiel class Socke { Socke() { farbe = "schwarz"; groesse = 40; Default-Konstruktor Socke( String farbe ) { this.farbe = farbe; groesse = 40; Socke( String farbe, int groesse ) { this.farbe = farbe; this.groesse = groesse; private String farbe; private int groesse; Aufruf: Socke s1 = new Socke(); Socke s2 = new Socke("weiss"); Socke s3 = new Socke("grau", 8); Prof. Dr. Björn Dreher Liste Programmieren - Java 73 Anderen Konstruktor der gleichen Klasse aufrufen Wiederverwendung von Code class Socke { Geht bei C++ nicht! Socke( String farbe ) { this.farbe = farbe; // this ist hier die Referenz auf // das eigene Objekt groesse = 40; Socke() { this( "schwarz" ); // this() leitet hier an anderen // Konstruktor weiter private String farbe; private int groesse; Prof. Dr. Björn Dreher Liste Programmieren - Java 74
22 Anderen Konstruktor der gleichen Klasse aufrufen Wiederverwendung von Code: Beispiel der Java Klasse Point public class Point extends Point2D implements java.io.serializable { public int x, y; public Point() { this(0, 0); public Point(Point p) { this(p.x, p.y); public Point(int x, int y) { this.x = x; this.y = y; Prof. Dr. Björn Dreher Liste Programmieren - Java 75 Anderen Konstruktor der gleichen Klasse aufrufen Einschränkungen Aufruf von this() muss in der ersten Zeile stehen Als Parameter können an this() keine Objektattribute übergeben werden Attribute sind möglicherweise noch nicht präsent Das Objekt wird gerade erst initialisiert Möglich sind allerdings statische Konstanten class Socke { final int ringelanzahl = 4; static final int RINGEL_ANZAHL = 4; Socke( String g, int anzringel ) {... Socke( String f ) { // this( f, ringelanzahl ); // nicht erlaubt this( f, RINGEL_ANZAHL ); // das geht statt dessen Prof. Dr. Björn Dreher Liste Programmieren - Java 76
23 Default Initialisierung Alle Attribute eines Objektes werden grundsätzlich mit Default-Werten initialisiert Primitive Datentypen: 0 oder false Referenzen: null Von Java garantiert Initialisierung von Klassenattributen (statische Attribute) Automatisch wie oben; nur einmal, wenn Klasse zum ersten Mal geladen wird Oder explizit: class StaticInit { static int i; static { i = 2; Prof. Dr. Björn Dreher Liste Programmieren - Java 77 Finale Werte können auch noch im Konstruktor gesetzt werden Nicht gut für Lesbarkeit des Codes class VariableConstant { final static int MWST; // hier steht nicht = irgendwas final String ISBN; // hier auch nicht. static { if ( 2 > 1 ) MWST = 7; else MWST = 16; VariableConstant() { ISBN = " "; public static void main( String args[] ) { System.out.println( MWST ); // 7 System.out.println( new VariableConstant().ISBN ); // Prof. Dr. Björn Dreher Liste Programmieren - Java 78
24 Instanzeninitialisierer... private static final int NUMPTS = 100; private int[] data = new int[numpts]; { for (int i = 0; i < NUMPTS; i++) data[i] = i;... Es kann mehrere geben Werden zu Beginn des Konstruktors ausgeführt Nützlich für komplexe Initialisierungen Hauptanwendung: Unterstützung anonymer innerer Klassen (besprechen wir später) Prof. Dr. Björn Dreher Liste Programmieren - Java 79 Zerstören von Objekten Keine explizite Freigabe von Objekten wie in C (free) oder C++ (delete) Nicht mehr verwendete Objekte (welche, zu denen es keine Referenzen mehr gibt) werden von der Garbage Collection freigegeben Thread niedriger Priorität, der immer im Hintergrund läuft Referenz ungültig machen: Auf null setzen In Java gibt es keine Destruktoren wie in C++ Teilweiser Ersatz Methode finalize() Keine Garantie, dass sie überhaupt einmal aufgerufen wird Alles in allem: Eine bequeme Lösung für den Programmierer Prof. Dr. Björn Dreher Liste Programmieren - Java 80
25 Liste Programmieren Java Überblick: 2. Klassen und Objekte 2.1 Einleitung 2.2 Kapselung 2.3 Ein Stack von chars 2.5 Statische Methoden und Attribute 2.7 Objektreferenzen Prof. Dr. Björn Dreher Liste Programmieren - Java Objektreferenzen Null-Referenz Point p = new Point(); p ist eine Referenz Erhält Wert erst als Ergebnis des new-operators Point p = null; null ist vordefinierte Konstante: null-referenz Sagt, dass p auf kein Objekt verweist Typenlos: Kann jeder Referenz zugewiesen werden Ist nicht in primitiven Datentyp 0 umwandelbar Aufruf einer Methode oder eines Attributs einer mit null initialisierten Referenz NullPointerException Prof. Dr. Björn Dreher Liste Programmieren - Java 82
26 2.7 Objektreferenzen Null-Referenz Überprüfung, ob Referenz initialisiert ist: if ( p!= null && p.x >=10 )... Zuweisung an Referenzen Mehrere Referenzen können auf dasselbe Objekt zeigen Point p = new Point(); Point q = p; q erhält den Wert der Referenz p zugewiesen Zeigt auf dasselbe Objekt Objekt wird nicht kopiert! Änderung über Referenz p betrifft genauso Referenz q p.x = 10; System.out.println(q.x); // Resultat ist 10 Prof. Dr. Björn Dreher Liste Programmieren - Java Objektreferenzen Vergleich mit der Kopie von primitiven Werten Primitive Variablen werden per Wert kopiert int i = 2; int j;... j = i; // Erhält Kopie des ursprünglichen // Wertes zugewiesen System.out.println(j); // Ergebnis ist 2 i = 3; System.out.println(j); // Ergebnis ist immer noch 2 Prof. Dr. Björn Dreher Liste Programmieren - Java 84
27 2.7 Objektreferenzen Gleichheit von Objekten Zuweisung mit = schafft zusätzliche Kopie einer Referenz auf ein bereits existierendes Objekt Vergleichsoperator == testet für alle Datentypen die Gleichheit der entsprechenden Werte Bei primitiven Datentypen liefert das erwartete Ergebnis Bei Referenzen werden die Werte der Referenzen verglichen Gleichheit, wenn sie auf dasselbe Objekt zeigen Es wird nicht geprüft, ob die beiden referenzierten Objekte dieselben Werte besitzen! Point p = new Point(); p.x = 12; Point q = p; Point r = new Point(); r.x = 12; if ( p == q ) // ist wahr, da p und q dasselbe Objekt // referenzieren if ( p == r ) // ist falsch, da p und r zwei verschiedene // Punkt-Objekte referenzieren, die zufällig // dieselben Koordinaten haben Prof. Dr. Björn Dreher Liste Programmieren - Java Objektreferenzen Gleichheit von Objekten: Die Methode equals() Jede Klasse kann diese Methode implementieren, um die Gleichheit zweier verschiedener Objekte festzustellen Damit definiert equals(), was für eine bestimmte Klasse Gleichheit bedeutet Point a = new Point( 10, 10 ); Point b = new Point( 10, 10 ); if ( a == b ) // false... if ( a.equals(b) ) // true... Bereits die Wurzelklasse Object definiert eine Methode equals() Ergebnis ist true, wenn beide Argumente dasselbe Objekt referenzieren public boolean equals( Object obj ) { return ( this == obj ); Dasselbe, wie Vergleichsoperator (==) Prof. Dr. Björn Dreher Liste Programmieren - Java 86
28 2.7 Objektreferenzen Gleichheit von Objekten: Die Methode equals() Will man die eigenen Objekte auf Gleichheit vergleichen, muss man equals() überschreiben Für die Point-Klasse public boolean equals( Object obj ) { if ( obj instanceof Point ) { Point pt = (Point)obj; return (x == pt.x) && (y == pt.y); return super.equals(obj); Prof. Dr. Björn Dreher Liste Programmieren - Java 87
Programmieren 2 Java Überblick
Programmieren 2 Java Überblick 2 Vererbung 3 Schnittstellen 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10 Applets
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
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
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
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
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
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
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
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
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
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
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
MehrListe Programmieren Java Überblick
Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 4 Schnittstellen 5 Innere Klassen 6 Exceptions 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe 10 Threads
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:
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
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
MehrProgrammieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
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
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
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
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
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
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
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
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]
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
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
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
MehrJava Grundlagen 2 - OOP
Institut für Programmierung und Reaktive Systeme Java Grundlagen 2 - OOP Markus Reschke 20.08.2014 Eine kleine Geschichte 1 Spezifikation Es sollen Formen in einer GUI angezeigt werden: Ein Quadrat, ein
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
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)
MehrUmsetzung einer Klassenkarte in einer Programmiersprache
Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,
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
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
MehrVorkurs Informatik WiSe 16/17
Institut für Programmierung Java Objektorientierte Programmierung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12 bis 14.10.2016 Technische Universität Braunschweig, IPS Überblick Warum OOP? OOP
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 3 Schnittstellen 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen
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
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
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
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
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
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 17/18
Institut für Programmierung Java Objektorientierte Programmierung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 11. bis 13.10.2017 Technische Universität Braunschweig, IPS Warum OOP? OOP mit Java
Mehr4. Vererbung Die Klasse Object. Die Klasse Object
4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige
MehrAlgorithmen und Datenstrukturen 06
31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Bis jetzt kennen wir (fast) nur primitive Datentypen. Diese entsprechen weitestgehend der Hardware des Rechners (z.b. besitzt ein Rechner Hardware um zwei floats zu addieren).
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
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
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
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
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
MehrDas Ersetzbarkeitsprinzip
Das Ersetzbarkeitsprinzip U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Dieses Ersetzbarkeitsprinzip benötigt man für den Aufruf einer Routine
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
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 3 Schnittstellen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
MehrAuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
MehrDie Klasse java.lang.object. Thorsten Treffer
Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:
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
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
MehrC++ - 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
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?...
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
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
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
MehrKlassenvariablen und statische Methoden
Klassenvariablen und statische Methoden Softwareentwicklung II (IB) Prof. Dr. Oliver Braun Letzte Änderung: 05.04.2018 17:36 Klassenvariablen und statische Methoden 1/25 Klassenvariablen Klassenvariablen
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
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
MehrJava: Der Einstieg. Algorithmen und Datenstrukturen II 1
Java: Der Einstieg Algorithmen und Datenstrukturen II 1 Grundlegendes zu Java: Historisches 1990-1991: Entwicklung der Programmiersprache OAK durch James Gosling von Sun Microsystems (zunächst für Toaster,
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
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:
MehrJAVA 05: Objektorientierte Konzepte
Lernkartenkurs JAVA 05: Objektorientierte Konzepte panitz Zusammenfassung Dieser Kurs beschäftigt sich mit Grundkonzepten der objektorientierten Programmierung. Was sind Klassen und Objekte? Wie sehen
MehrKlassenvariablen und statische Methoden
Softwareentwicklung II (IB) Klassenvariablen und statische Methoden Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 05.04.2018 17:36 Inhaltsverzeichnis Klassenvariablen 1 Definition......................................
Mehr4. Vererbung. Idee der Vererbung. Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende Klassen vor:
4. Vererbung Grundlagen der Vererbung 4. Vererbung 4. Vererbung Grundlagen der Vererbung Idee der Vererbung Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 09:00-10:30 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Linux, OS X Freitag: http://hhu-fscs.de/linux-install-party/
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
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c 2009 D.Rösner
MehrArten von Klassen-Beziehungen
Arten von Klassen-Beziehungen Untertypbeziehung: Ersetzbarkeit Vererbung von Code aus Oberklasse irrelevant Vererbungsbeziehung: Klasse entsteht durch Abänderung anderer Klassen Ersetzbarkeit irrelevant
MehrGliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D.
Gliederung Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c
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
MehrProgrammieren in Java
Ein Projekt 2 Wiederholung: new-operator Werte nicht-primitiver Datentypen müssen mit new erzeugt werden Es gibt keine Möglichkeit primitive Daten mit new zu erzeugen Beispiele int[] myarray = new int[]
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Bis jetzt kennen wir (fast) nur primitive Datentypen. Diese entsprechen weitestgehend der Hardware des Rechners (z.b. besitzt ein Rechner Hardware um zwei floats zu addieren).
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:
Mehr6. Globalübung (zu Übungsblatt 8)
6. Globalübung (zu Übungsblatt 8) Inhalt: Klassenhierarchien Verdecken von Attributen Überschreiben von Methoden Codeanalyse Analyse von JAVA-Programmen Semestralklausur Klausurtermin: Mittwoch 11.01.2006
MehrEinstieg 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
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
MehrVererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1
Vererbung 1 11.1 Motivation und Begriffsdefinitionen 11.2 Vorgehensweise und Implementierung 11.3 Arten von Vererbung 11.4 Konstruktoren 11.5 Abstrakte Klasse 11.6 Verschattung 11.7 Wurzelklasse Object
MehrEinführung in C# Teil 1. Matthias Nübling
Einführung in C# Teil 1 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
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
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
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 10:30-12:00 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Aber in den Übungen! Linux, OS X http://hhu-fscs.de/linux-install-party/
MehrPolymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Objektorientierung Was ist Objektorientierung Es einige Grundprinzipien, die (fast) allen Definitionen des Begriffs Objektorientierung
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrObjektorientierung. 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
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
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.
Mehr