Objekte. Polymorphismus. Klassen und Objekte. Kapselung
|
|
- Christina Otto
- vor 7 Jahren
- Abrufe
Transkript
1 Polymorphismus Objekte Was versteht man unter Polymorphismus? Griechisch: Vielgestaltigkeit, Verschiedengestaltigkeit Methoden mit gleichem Namen können unterschiedliche Parameter haben Objekte können unterschiedlich reagieren Objektvariablen können Objekte unterschiedlicher Klassen aufnehmen Welche Arten von Polymorphismus gibt es? Statischen Polymorphismus Überladen von Methoden Dynamischen Polymorphismus Überschreiben von Methoden FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 1 Was ist ein Objekt und woraus besteht es? Ein Objekt ist ein indiviuelles Exemplar von Dingen Hat somit eine eindeutige Objektidentität (Namen) Ein Objekt hat einen Zustand wird beschrieben durch die Attribute ein wohldefiniertes Verhalten wird beschrieben durch die zugehörigen Methoden Welche fünf Grundtypen von Methoden gibt es? Konstruktoren Erzeugen ein Objekt (Instanz einer Klasse) Destruktoren Zerstören ein Objekt Mutatoren Verändern Attribut-Werte Accessoren Fragen Attribut-Werte ab Funktionen führen reine Rechenoperationen aus FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 2 Klassen und Objekte Kapselung Was versteht man unter einer Klasse? Klassen legen die prinzipiellen Eigenschaften von Objekten fest Klasse sind Baupläne für Objekte Oberbegriffe für verschiedene Objekte Schablonen für verschieden Objekte Welche Verbindung hat ein Objekt zu seiner Klasse (welche Analogie besteht zu Variablen)? Ein Objekt ist eine Instanz einer Klasse Eine Variable hat einen Typ Was versteht man unter Vererbung? Klassen mit ähnlichen Eigenschaften in hierarchische Beziehung setzen Beim Vererben werden Attribute und Methoden der Basisklasse Was versteht man unter den Konzepten Kapselung und Schnittstelle und welche Vorteile ergeben sich durch diese? Das Zusammenfassen von Methoden und Variablen zu einer Klasse wird als Kapselung bezeichnet Die Stellen an denen die Kapsel durchlässig ist, welche also die Kommunikation von und mit Objekten ermöglichen, heißen Schnittstellen Vorteile Teile eines Objekts, die von außen nicht oder nur durch bestimmte Objekte erreichbar sein sollen werden versteckt Daten und Methoden werden vor unerlaubtem Zugriff geschützt Komplexität der Objekt-Bedienug wird reduziert an die abgeleitete Klasse vererbt FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 3
2 Referenztypen Methoden von Objekten Was versteht man unter einem Referenztyp? Vordefinierte Datentypen werden als einfache Datentypen bezeichnet Objekte und Arrays werden als Referenzdatentypen bzw. Referenztypen bezeichnet Objekte zu Referenztypen können mit clone kopiert werden Die Änderung einer Referenz innerhalb einer Funktion hat keine Wirkung nach außen Beispiel: Button b1, b2; b1 = new Button(); b2 = b1; // b1 und b2 referenzieren den selben Button b1.setlabel( Test ); System.out.println(b2.getLabel()); // Gibt Test aus int i1 = 3; int i2 = i1; i1 = 2; System.out.println(i2); // Gibt 3 aus FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 5 Wie werden Methoden von Objekten angelegt? Methoden werden innerhalb einer Klassendefinition angelegt Methoden haben Zugriff auf alle Variablen der Klasse Methoden arbeiten immer mit den Variablen des aktuellen Objekts Wie werden Methoden aufgerufen? Aufruf erfolgt mittels Punktnotation Innerhalb der Klasse können Methoden ohne Punktnotation aufgerufen werden und auf die Instanzvariablen der Klasse zugreifen Wie werden Parameter in Java übergeben und was ist daher zu beachten? Parameter werden immer per call by value übergeben Aktueller Wert wird in die Parametervariable kopiert und anschließend an die Methode übergeben Übergabe von Referenztypen (Objekten, Arrays) kann zu verdeckten Fehlern führen FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 6 Konstruktoren Überladen / Überschreiben Was versteht man unter einem Konstruktor in Java; Was ist ein Default-Konstruktor? Konstruktoren sind spezielle Methoden zur Instanzierung von Objekten In Java sind Konstruktoren Methoden ohne Rückgabewert mit dem Namen der Klasse, der sie angehören Besitzt eine Klasse keinen Konstruktor, wird vom Compiler automatisch ein parameterloser Default-Konstruktor erzeugt Erhält eine Klassendeklaration nur parametrisierte Konstruktoren, wird kein Default-Konstruktor erzeugt Was versteht man unter einem Destruktor in Java? Destruktoren werden unmittelbar vor der Zerstörung eines Objekts aufgerufen (Vorsicht in Java!!!) In Java wird ein Destruktor mittels geschützter (protected) parameterloser Methode mit dem Namen finalize definiert Was versteht man unter den Begriffen Überladen und Überschreiben (worin besteht der Unterschied)? Überladen: Der Name einer Methode bleibt gleich, Signatur (Anzahl/Typ der Parameter) ändert sich Typisches Beispiel: Konstruktor Überschreiben: Sowohl der Name, als auch die Signatur einer Methode bleiben gleich Das Verhalten der Methode ändert sich Notwendig zum Überschreiben ist der Prozeß der Vererbung Überschreiben ist Grundlage für dynamischen Polymorphismus Typisches Beispiel: Die Methode equals() FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 8
3 Ableiten einer Klasse Modifier Wie leitete man in Java von einer Klasse A weitere Klassen ab? Mit Hilfe des Schlüsselwortes extends Wie kann in Java eine verdeckte Methode aufgerufen werden? Mit Hilfe des Schlüsselwortes super Wie kann in Java verhindert werden, dass von einer Klasse weitere Klassen abgeleitet werden? Mit Hilfe des Schlüsselwortes final Welche Modifierer zur Sichtbarkeitsregelung gibt es in Java? public protected private Welche Modifierer zur Regelung der Lebensdauer gibt es in Java? static Welche Modifierer zur Regelung der Veränderbarkeit gibt es in Java? final FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 10 Aufgabe 1 Aufgabe 2 Schreiben Sie eine Klasse A, die einen Instanzzähler enthält, der die Anzahl aller aktuell vorhandenen Instanzen der Klasse beinhaltet. class A static public int objcnt = 0; public A() ++objcnt; protected void finalize() --objcnt; FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 11 Schreiben Sie eine Klasse MyArray für ein Integer-Array dynamischer Größe Implementieren Sie es mit Hilfe eines internen Arrays aus int s Implementieren Sie drei Konstruktoren Einen Konstruktor mit einem Parameter l vom Typ int, der ein leeres Array der Länge l erzeugt Einen Konstruktor mit einem Parameter vom Typ MyArray, der von dem übergebenen Objekt eine (tiefe) Kopie erzeugt Einen Konstruktor mit zwei Parametern Erste Parameter ist ein normales int-array Zweite Parameter gibt die Anzahl der ersten n zu übernehmenden Elemente an Implementieren Sie Methoden zum Setzen bzw. Lesen der int-werte einer bestimmten Indexposition des internen Arrays, sowie zur Abfrage der Arraylänge Die Werte sollen nur über diese Methoden zugänglich sein Überprüfen Sie dabei, ob die gewünschte Indexposition legal ist. Ist sie es nicht, tun Sie einfach nichts, bzw. geben 0 als Wert zurück (Sie müssen keine Exceptions verwenden) FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke
4 Aufgabe 2 Abstrakte Klassen / Interfaces public class MyArray private int[] werte; public MyArray(int anzahl) werte = new int[anzahl]; public MyArray(int[] werte, int anzahl) this.werte = new int[anzahl]; for (int i = 0; i < anzahl; ++i) this.werte[i] = werte[i]; public MyArray(MyArray array) super(array.length()); for(int i=0; i<werte.length;++i) werte[i] = array.get(i); public int length() return werte.length; public void set(int stelle, int wert) if (stelle>0 && werte.length>stelle) werte[stelle] = wert; public int get(int stelle) if (stelle>0 && werte.length>stelle) return werte[stelle]; return 0; Was ist eine abstrakte Klasse und wie wird sie in Java implementiert? Ist zumeist Vaterklasse einer Klassenhierarchie Gibt die Signatur für abstrakte Methoden vor Alle von ihr abgeleiteten Klassen müssen diese Methoden implementieren Nicht abstrakte Methoden können schon implementiert sein Von einer abstrakten Klasse können keine Instanzen erzeugt werden In Java: abstract class AbstrakteKlasse... Was versteht man unter einer Schnittstelle/ einem Interface in Java? Völlig abstrakte Klasse Alle Methoden müssen public und abstrakt sein Es gibt nur Klassenkonstanten, kein normalen Attribute FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 14 Aufgabe 3 Aufgabe 3 Es sollen polymorphe Objekte von drei verschiedenen Klassen in einem Array gespeichert werden können. Die Klassen seien die grafischen Objekte Kreis, Dreieck und Rechteck, welche alle die Methode flaeche() besitzen, die die aktuelle Fläche des entsprechenden Objekts liefert. Nachdem eine Reihe solcher Objekte (unterschiedliche Klassen) in einem Array abgelegt worden sind, soll die Gesamtfläche aller im Array vorhandenen Objekte berechnet werden. Wie müssen obige Klassen in einer Vererbungshierarchie angeordnet sein, so dass obige Aufgabe gelöst werden kann? Vererbungshierarchie GrafikObjekt double flaeche() Kreis Dreieck Rechteck double flaeche() double flaeche() double flaeche() Die Elemente des Arrays müssen vom Typ GrafikObjekt sein Von welchem Datentyp müssen die Elemente des Arrays sein? Schreiben Sie ein Programmfragment, in dem die Gesamtfläche aller im Array gespeicherten Objekte berechnet wird! Berechnung der Gesamtfläche aller Objekte des Arrays GrafikObjekt [] array =... double gesamtflaeche = 0; for(int i=0; i<array.length; ++i) gesamtflaeche += array[i].flaeche(); FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 16
5 Aufgabe 4 Aufgabe 5 Gegeben seien die Klassen class A und class B int werta; int wertb; A a; public B() a = new A(); Erweitern Sie die Klasse B so, dass sie das Interface Clonable implementiert um mittels clone() eine tiefe Kopie von Instanzen von B zu erzeugen. Verwenden Sie dabei auch die Methode clone() der Vaterklasse von B. class B implements Clonable... public Object clone() try B nb = (B) super.clone(); nb.a = new A(); nb.a.werta = a.werta; return nb; catch (CloneNotSupportedException e) throw new InternalError(); FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 17 Ihnen steht eine Funktion Object getmax (Comparable[] c) zur Verfügung, welche das maximale Element eines Arrays liefert. Schreiben Sie eine Klasse A, welche eine Instanzvariable groesse enthält. Schreiben Sie weiterhin ein Programmfragment, in dem Sie ein Array mit fünf Elementen vom Typ A erzeugen und mit Werten füllen. Anschließend soll das größte Element des Arrays ausgegeben werden. class AA AA[] f = new AA[5]; implements Comparable for(int i=0; i<f.length; i++) f[i] = new AA(); double groesse; f[i].groesse = 10%(i+3); public int compareto(object o) if ((AA)o).groesse - this.groesse < 0) return -1; Out.print("Groesstes Element: ) else if((aa)o).groesse-this.groesse > 0) Out.println(((AA)getMax(f)).groesse); return 1; return 0; FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 18 Exceptions Aufgabe 6 Was versteht man unter einer Exception? Ein Ereignis, das während der Programmausführung auftritt und den normalen Programmablauf unterbricht Worin besteht der Unterschied zwischen geprüften und nicht geprüften Exceptions? Ungeprüfte Exception Compiler überprüft nicht, ob Exception behandelt wird Geprüfte Exception Compiler überprüft, ob Exception behandelt wird Müssen in einem try-catch-block behandelt werden Methode, die geprüfte Exception wirft, muss dies durch throws- Anweisung im Methodenkopf kenntlich machen FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 19 Schreiben Sie eine Methode double getdoublevalue(int z, int n) die den Bruch z/n als double-wert zurückliefert. Ist n identisch Null, soll eine IllegalArgumentException geworfen werden, welche zur näheren Beschreibung des Fehlers den Text Nenner = 0 übergeben bekommt. Geben Sie weiterhin das aufrufende Programmfragment an, welches im Fall der Exception den Fehlertext ausgeben soll. double getdoublevalue(int z, int n) try throws IllegalArgumentException d = getdoublevalue(1, 0); catch (IllegalArgumentException e) if (nenner == 0) System.out.println(e.getMessage()); throw new IllegalArgumentException("Nenner = 0"); else return zaehler / (double)nenner; FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 20
6 Aufgabe 7 (Threads) Vervollständigen Sie die nachfolgenden Klassen /* Berechnung der 1. n Quadratzahlen in einem Thread */ class Cr implements Runnable long n; public Cr(long n) this.n = n; /* Ab hier ergänzen um die ersten n Quadratzahlen auszugeben... */ public class CrThread public static void main(string[] a) /* Ab hier ergänzen um mittels Cr die ersten 10 Quadratzahlen in einem Thread zu berechnen... */ class Cr implements Runnable long n; public Cr(long n) this.n = n; public void run() for(long i=0; i<n; ++i) System.out.println(i*i); public class CrThread public static void main(string[] a) Cr cr = new Cr(10); new Thread(cr).start(); FH-Wiesbaden --- Medieninformatik --- SS Prof. Dr. Ulrich Schwanecke 21
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
Mehr1 Abstrakte Klassen, finale Klassen und Interfaces
1 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,
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
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
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
MehrObjektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen
Objektorientierte Programmierung mit Grundlagen 27.10.2008 1 Übersicht 27.10.2008 2 1 Übersicht Klassen und Objekte in - Klassen - Objekte - Klassen - Objekte 27.10.2008 3 Übersicht 27.10.2008 4 2 Einführung
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,
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen
Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
MehrInterfaces und Vererbung
Interfaces und Vererbung Einführung in Java Folie 1 von 31 12. Mai 2011 Ivo Kronenberg Inhalt Interfaces Statische und dynamische Typen Visiblitätsmodifier Vererbung Überschreiben von Methoden Konstruktoren
MehrDas Interface-Konzept am Beispiel der Sprache Java
Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse
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
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
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
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung Teil 2 2 Übersicht der heutigen Inhalte Vererbung Abstrakte Klassen Erweitern von Klassen Überladen von Methoden Überschreiben von
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0
9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung
MehrDie abstrakte Klasse Expression:
Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const 501 Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const Leider (zum Glück?) lässt sich nicht die
MehrProgrammierung für Mathematik HS11
software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren
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
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
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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 10: Mehr zur Vererbung und abstrakte Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Mehr zur Vererbung Methoden vererben und überschreiben
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
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
MehrKapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
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
MehrII.4.4 Exceptions - 1 -
n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen
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
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
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
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
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
MehrProbeklausur Java Einführung in die Informatik. Wintersemester 2016/2017
Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung
MehrPräsentation Interfaces
Einführung in Java Präsentation Interfaces Nozar Delassaei Marvi Inhalt 1. Erinnerung Klasse Objekte Beispiel Klasse Abstrakte Klasse Beispiel Abstrakte Klasse Mehrfachvererbung-1 Mehrfachvererbung-2 2.
MehrGrundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
MehrEinstieg 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
MehrAnwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie
Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,
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
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
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
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
MehrJava für Bauingenieure
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen
MehrEinführung in C# Teil 3. Matthias Nübling
Einführung in C# Teil 3 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
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?...
MehrProbeklausur Java Einführung in die Informatik. Wintersemester 2017/2018
Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2017/2018 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung
MehrKlausur Grundlagen der Programmierung
Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel
MehrJava I Vorlesung 6 Referenz-Datentypen
Java I Vorlesung 6 Referenz-Datentypen 7.6.2004 Referenzen this, super und null Typkonvertierung von Referenztypen Finale Methoden und Klassen Datentypen in Java In Java gibt es zwei Arten von Datentypen:
MehrProgrammierung Nachklausurtutorium
Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel
MehrFakultät IV Elektrotechnik/Informatik
Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)
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
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
MehrDurch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei
Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der
MehrVorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3
Vorausgesetzte Grundkenntnisse Einführung in C# Teil 3 Matthias Nübling Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
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:
MehrJava Vererbung. Inhalt
Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter
MehrJava Schulung (Java 2 Java Development Kit 5 / 6)
2. Grundlagen der Objektorientierung 2.1 Klassen, Attribute, Methoden Klassen Eine Klasse beschreibt als Bauplan Gemeinsamkeiten einer Menge von Objekten ist also ein Modell, auf dessen Basis Objekte erstellt
MehrTest zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 31. Jänner 2003
Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler 1. Jänner 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: O Bakkalaureat
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrLösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am
Aufgabe 1 Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am 16.3.2002 Folgende Implementierung löst die gestellte Aufgabe : public interface Figur { public void anzeigen (); public
MehrEin Vortrag im Rahmen des Wahlpflichtmoduls Fortgeschrittene Programmierung mit JAVA
Ein Vortrag im Rahmen des Wahlpflichtmoduls Fortgeschrittene Programmierung mit JAVA Themenspeicher Strukturen objektorientierter Programmierung (Wiederholung) Klassen und Vererbung Schnittstellen und
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
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
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 (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
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML Klassendiagramm zeigt Klassen und ihre Beziehungen untereinander Visualisierung und Modellierung der statischen Struktur eines Systems Klassen
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und
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
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
MehrII.4.4 Exceptions - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.4 Exceptions - 1 - Ausnahmen (Exceptions)
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
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
MehrWiederholung zur Vorlesung Programmieren
Wiederholung zur Vorlesung Jan 2007 Wintersemester 2007/2008 Computerlinguistik, Campus DU Einstieg Erläutern sie in knappen Worten die notwendigen Schritte um ein einfaches Java-Programm zu schreiben
MehrAbschnitt 14: Schnittstellen: Interfaces
Abschnitt 14: Schnittstellen: Interfaces 14. Schnittstellen: Interfaces 14.1 Die Idee der Schnittstellen 14.2 Schnittstellen in Java 14.3 Marker-Interfaces 14.4 Interfaces und Hilfsklassen 14 Schnittstellen:
MehrÜ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
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrIntuitive 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.
MehrBegriffe 1 (Wiederholung)
Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.
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:
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden
MehrJava Einführung Vererbung und Polymorphie. Kapitel 13
Java Einführung Vererbung und Polymorphie Kapitel 13 Inhalt Klassifikation (UML) Implementierung von Vererbungshierarchien Überschreiben von Methoden Polymorphismus: Up-Casting und Dynamisches Binden Schlüsselwort
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
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:
MehrMapra: C++ Teil 6. Felix Gruber, Sven Groß. IGPM, RWTH Aachen. 13. Juni 2017
Mapra: C++ Teil 6 Felix Gruber, Sven Groß IGPM, RWTH Aachen 13. Juni 2017 Felix Gruber, Sven Groß (IGPM, RWTH Aachen) Mapra: C++ Teil 6 13. Juni 2017 1 / 22 Was bisher geschah Klassen I Attribute und Methoden
MehrPolymorphie. 15. Java Objektorientierung II
432 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 433 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrAbstrakte Basisklassen
Abstrakte Basisklassen Softwareentwicklung II (IB) Prof. Dr. Oliver Braun Letzte Änderung: 24.06.2018 15:20 Abstrakte Basisklassen 1/18 Idee (1/2) Gegensätze: Interfaces ausschließlich Methodenköpfe, keine
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
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
MehrII.4.5 Generische Datentypen - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.5 Generische Datentypen - 1 - Ähnliche
MehrPolymorphie. 15. Java Objektorientierung II
446 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 447 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 3 29.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klassen ableiten
MehrInstitut für Informatik. Endterm Klausur zu Informatik I 20. Februar 2010
Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung Prof. R. Westermann Endterm Klausur zu Informatik I 20. Februar 2010 ˆ Die Arbeitszeit beträgt 120
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
Mehr1. Konzepte Objektorientierter Programmiersprachen
OOP I Grundlagen: 1. Konzepte Objektorientierter Programmiersprachen Einführung: Die objektorientierte Programmierung war für die Softwareindustrie eine der wichtigsten Errungenschaften der 90er Jahre.
MehrOOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
Mehr