Kapitel 1 - Widerholungsfragen
|
|
- Hajo Beutel
- vor 7 Jahren
- Abrufe
Transkript
1 Kapitel 1 - Widerholungsfragen 1. Erklären Sie folgende Begriffe: Objekt Ein Objekt ist eine logische Einheit, bestehend aus zusammengehörigen Variablen und Routinen. Klasse Eine Klasse beschreibt die Struktur der ihr zugehörigen Objekte im Detail. Dazu gehören Eigenschaften, Methoden, Konstsruktoren, Destruktoren, etc. Vererbung Vererbung ermöglicht es, neue Klassen (subclasses) von bereits existierenden Klassen (superclasses) abzuleiten. Änderungen können mittels Erweitern oder mittels Überschreiben vorgenommen werden. Identität Objekte sind durch ihre Identität eindeutig gekennzeichnet und daher auch über diese ansprechbar. Vereinfacht kann man sich die Identität als die Adresse des Objekts im Speicher vorstellen. Das ist aber nur bedingt richtig, da sich die Speicheradresse eines Objekts ändern kann, die Identität aber erhalten bleibt. Zustand Der Zustand eines Objekts setzt sich aus den Werten der Variablen im Objekt zusammen. Dieser ist zur Laufzeit abänderbar. Verhalten Das Verhalten eines Objekts beschreibt, wie sich das Objekt beim Empfang einer Nachricht verhält, also was das Objekt beim Aufruf einer Methode macht. Schnittstelle Sie beschreibt das öffentlich sichtbare Verhalten und entspricht dem Typen eines Objekts. Die Bezeichnungen white box, grey box, black box beschreiben den Grad an öffentlichen Methoden. Instanz einer Klasse, einer Schnittstelle und eines Typs Die Instanzen einer Klasse sind jene Objekte, die durch Konstruktoren der Klasse erzeugt wurden. Genauer gesagt, sind die Objekte Instanzen der durch die Klasse beschriebenen Schnittstellen bzw. Typen. Die Klasse selbst ist die spezifischste aller Schnittstellen zu der das Objekt gehört, da sie das Verhalten am genauesten beschreibt. Deklarierter Typ Der deklarierte Typ ist jener Typ, mit dem die Variable deklariert wurde. Er kann klarerweise nur bei expliziter Typdeklaration existieren. Statischer Typ Der statische Typ wird vom Compiler statisch ermittelt und kann spezifischer als der deklarierte Typ sein. Statische Typen zum Beispiel für Programmoptimierung verwendet. Dabei hängt es vom der Qualität des Compilers ab, wie spezifisch der statische Typ ist. Dynamischer Typ Das ist der spezifischste Typ den der in der Variable gespeicherte Wert tatsächlich hat. Er ist in der Regel spezifischer als der deklarierte Typ und wird zum Beispiel zur dynamischen Typüberprüfung während der Laufzeit verwendet. Nachricht Objekte können während ihrer Lebenszeit Nachrichten austauschen. Dies ist als das Aufrufen von Methoden und Übersenden von Rückgabewerten zu verstehen.
2 Methode Eine Methode ist eine Routine eines Objekts. Das Verhalten eines Objekts beim Aufruf einer Methode ist von der Art und dem Inhalt der formalen Parameter der Methode abhängig. Konstruktor Objekte einer Klasse werden durch einen Konstruktor erzeugt. Er ist eine spezielle Methode der Klasse. Faktorisierung Unter Faktorisierung versteht man das Zusammenfassen zusammengehöriger Eigenschaften und Aspekte des Programms zu Einheiten. Gute Faktorisierung wirkt sich positiv auf die Wartbarkeit eines Programms aus. Refaktorisierung Unter Refaktorisierung versteht man die Anpassung der Struktur eines Programms an neue oder unbedachte Gegebenheiten. Gute Faktorisierung kann den Aufwand von Refaktorisierung vermindern. Verantwortlichkeiten was ich weiß Beschreibung des Zustands der Instanzen was ich mache Verhalten der Instanzen wen ich kenne sichtbare Objekte, Klassen, etc. Klassen-Zusammenhalt Der Klassen-Zusammenhalt ist hoch, wenn alle Variablen und Methoden der Klasse end zusammenarbeiten und der Name der Klasse gut beschrieben ist. Objekt-Kopplung Die Objekt-Kopplung ist hoch, wenn die Anzahl der nach außen sichtbaren Methoden und Variablen hoch ist, im laufenden System Methodenaufrufe und Variablenzugriffe zwischen unterschiedlichen Objekten häufig auftreten und die Anzahl der Parameter dieser Methoden hoch ist. Softwareentwurfsmuster Softwareentwurfsmuster geben Problemstellungen in der Softwareentwicklung einen Namen und bieten erprobte Lösungswege best practices dafür an. Da sie meist nicht 1:1 anwendbar sind, wählt man jenen Weg, der am wenigsten andere Nachteile mit sich bringt. Konsequenzen sind oft die Aufblähung eines Systems, sowie eine schlechtere Übersichtlichkeit desselben. 2. Welche Arten von Polymorphismus unterscheidet man? Welche davon sind in der objektorientierten Programmierung wichtig? Warum? Man unterscheidet zwischen universellen- und Ad-hoc-Polymorphismus. Zum universellen Polymorphismus zählen Generizität und enthaltender Polymorphismus, zum Ad-hoc- Polymorphismus zählen das Überladen von Methoden und Typumwandlungen. Nur der universelle Polymorphismus ist für die objektorientierte Programmierung wichtig, da nur hier eine gleichförmige Struktur der untereinander in Beziehung stehenden Typen besteht. Weder das Überladen von Methoden, noch die Typumwandlung sind spezifisch für die objektorientierte Programmierung. 3. Wann sind zwei Objekte identisch, und wann sind zwei identische Objekte gleich? Es gibt keine zwei identen Objekte. Zwei unterschiedlich benannte Referenzen können höchstens auf ein und dasselbe Objekt verweisen. Zwei Objekte sind genau dann gleich, wenn sie denselben Zustand und dasselbe Verhalten aufweisen (Kopien voneinander sind).
3 4. Sind Datenabstraktion, Datenkapselung und data hiding einander entsprechende Begriffe? Wenn Nein, worin unterscheiden sie sich? Nein, sind sie nicht! Unter Datenkapselung versteht man das Zusammenfassen zusammengehöriger Aspekte eines Programms zu einer Einheit (Kapsel). Unter data hiding versteht man das verstecken von Daten und Implementierungen. Datenabstraktion ist ein Sammelbegriff für Datenkapselung und data hiding. 5. Was besagt das Ersetzbarkeitsprinzip? Dies besagt, dass ein Typ U genau dann ein Untertyp vom Typen T ist, wenn eine Instanz vom Typ U überall dort eingesetzt werden kann, wo eine Instanz vom Typen T erwartet wird. 6. Nennen Sie die Schritte im Softwareentwicklungsprozess entsprechend dem Wasserfallmodell und zyklischen Modellen. Das Wasserfallmodellen besteht aus den Schritten: Analyse, Entwurf, Implementierung sowie Verifikation und Validierung. Zyklische Modelle wenden das Wasserfallmodell in Form schrittweiser Verfeinerung auf das Gesamtprojekt an, indem Teilaspekte immer weiter ausgebaut und ständig verifiziert und validiert werden. 7. Warum ist eine gute Wartbarkeit so wichtig? Änderungen der Software können rascher durchgeführt werden, langfristige Kosten können dadurch gesenkt werden. 8. Wie lauten die wichtigsten Faustregeln im Zusammenhang mit Klassen- Zusammenhalt und Objekt-Kopplung? Welche Vorteile erwartet man sich davon, dass diese Faustregeln erfüllt sind? Der Klassen-Zusammenhalt soll hoch sein. Hoher Klassen-Zusammenhalt deutet auf eine gute Faktorisierung hin. Bei guter Faktorisierung muss die Struktur einer Software nur minimal an Änderungen angepasst werden. Die Objekt-Kopplung soll schwach sein. Schwache Objekt-Kopplung deutet auf eine gute Kapselung hin. Bei Änderungen werden vermutlich weniger Objekte beeinflusst als bei starker Objekt-Kopplung. 9. Welche Arten von Software kann man wieder verwenden, und welche Rolle spielt jede davon in der Softwareentwicklung? Programme, Daten, Erfahrungen ( best practices ) und Code. Unter Code unterscheidet man weiters zwischen globalen- und fachspezifischen Bibliotheken, projektinterner- und programminterner Wiederverwendung. 10. Welche Rolle spielen Refaktorisierungen in der Wiederverwendung? Besonders bei weniger erfahrenen Programmierern kann der erhöhte Zeit- und Kostenaufwand bei der Erstellung wiederverwendbarer Software zum Scheitern des Projekts führen. Im Zweifelsfall sollte erst nach Fertigstellung des Projekts und nach Bedarf eine Refaktorisierung für Wiederverwendung erwogen werden. 11. Nennen Sie die wichtigsten Paradigmen der Programmierung und ihre essentiellen Eigenschaften. Zur Imperativen Programmierung gehören die Prozedurale- und die Objektorientierte Programmierung, zur Deklarativen Programmierung gehören die Funktionale- und die Logikorientierte Programmierung.
4 12. Wofür ist die objektorientierte Programmierung gut geeignet, und wofür ist sie nicht gut geeignet? Objektorientierte Programmierung eignet sich zur Entwicklung von Systemen, deren Gesamtkomplexität jene der einzelnen Algorithmen deutlich übersteigt. Sonst sind andere Paradigmen besser geeignet. Kapitel 2 Wiederholungsfragen 13. In welcher Form kann man durch das Ersetzbarkeitsprinzip Wiederverwendung erzielen? Durch das Einhalten des Ersetzbarkeitsprinzips können Fehler in der Klassenhierarchie vermieden und Schnittstellen stabil gehalten werden. Dadurch ergeben sich ein paar Möglichkeiten zur Wiederverwertung, s. Beispiel Treiberversionen. 14. Unter welchen Bedingungen, die von einem Compiler überprüfbar sind, ist ein Typ im Allgemeinen Untertyp eines anderen Typs? Welche zusätzlichen Bedingungen müssen in Java gelten? Typen von Konstanten und Ergebnistypen müssen kovariant, Typen formaler Parameter kontravariant und Variablentypen invariant sein. In Java muss zudem zwischen den beiden Klassen eine Vererbungsbeziehung bestehen. 15. Sind die in Punkt 14 angeschnittenen Bedingungen hinreichend, damit das Ersetzbarkeitsprinzip erfüllt ist? Wenn nicht, was muss noch beachtet werden? Damit das Ersetzbarkeitsprinzip vollständig erfüllt sein kann, muss der Programmierer den Vertrag zwischen Client- und Serverklassen implementieren. 16. Welche Rolle spielt dynamisches Binden für die Ersetzbarkeit und Wartbarkeit? Durch den Einsatz dynamischen Bindens können Änderungen rascher Angepasst werden, die Lokalität bleibt gewährleistet, was wiederum und Wartbarkeit verbessert. 17. Welche Arten von Zusicherungen werden unterschieden, und wer ist für deren Einhaltung verantwortlich? Vorbedingungen (dafür ist der Client verantwortlich), Nachbedingungen (dafür ist der Server verantwortlich) und Invarianten (für die ebenfalls der Server vor und nach Aufruf einer seiner Methoden zuständig ist). 18. Wie müssen sich Zusicherungen in Unter- und Obertypen zueinander verhalten, damit das Ersetzbarkeitsprinzip erfüllt ist? Vorbedingungen im Untertypen dürfen nur schwächer werden (mittels ODER), Nachbedingungen und Invarianten dürfen im Untertypen nur stärker sein (mittels UND). 19. Warum sollen Schnittstellen und Typen stabil bleiben? Wo ist Stabilität besonders wichtig? Nachträgliche Änderungen wurden sich über die gesamte zu Grunde liegende Vererbungshierarchie ausbreiten. Während Blätter zwecks Stabilitätsgewinnung noch leicht refaktorisiert werden können, müssen Elemente zur Wurzel hin stabil bleiben. 20. Was ist im Zusammenhang mit allgemein zugänglichen (public) Variablen und Invarianten zu beachten? (Öffentliche) Variablen von außen zu verändern sollte man auf jeden Fall unterlassen. Sind dabei Invarianten betroffen, könnte dies zu einer Verletzung des Vertrags führen.
5 21. Wie genau sollen Zusicherungen spezifiziert sein? Zusicherungen sollten möglichst allgemein gehalten werden. Je genauer die Zusicherungen formuliert sind, desto eher ist die Stabilität gefährdet. 22. Wozu dienen abstrakte Klassen und abstrakte Methoden? Wo und wie soll man abstrakte Klassen einsetzen? Abstrakte Klassen können zwar nicht instanziert werden, eignen sich aber zum Definieren von Typen. Abstrakte Methoden müssen in den Untertypen implementiert werden. Abstrakte Klassen ohne Implementierungen eigenen sich gut als Obertypen, da sie eher stabil sind und man immer von stabilen Typen ableiten soll. 23. Ist Vererbung dasselbe wie das Ersetzbarkeitsprinzip? Wenn Nein, wo liegen die Unterschiede? Für eine reine Vererbungsbeziehung ist das Ersetzbarkeitsprinzip irrelevant. Letzteres ist eine Einschränkung der Freiheiten des Programmierers, Vererbungstechniken willkürlich zu Gunsten von Untertypbeziehungen einzusetzen. 24. Worauf kommt es zur Erzielung von Codewiederverwertung eher an Auf Vererbung oder Ersetzbarkeit Warum? Auf Ersetzbarkeit! Vererbungsbeziehungen bieten auf den ersten Blick die bessere Codewiederverwertung, allerdings verzichtet man auf Untertypbeziehungen, die Codewiederverwertung im noch größeren Umfang bewirken können und ein wichtiges Instrument der objektorientierten Programmierung sind. 25. Was bedeuten folgende Begriffe in Java? Instanzvariable Instanzvariablen sind jene Variablen die zu den Instanzen der Klasse gehören. Jede Instanz verfügt über eine eigene Kopie dieser Variable. Klassenvariable Klassenvariablen gehören zur Klasse selbst. Schreibzugriffe auf eine Klassenvariable wirken sich auf alle Instanzen aus. statische Methode Statische Methoden gehören ebenfalls zur Klasse selbst und werden über den Namen der Klasse aufgerufen. this ist innerhalb von statischen Methoden nicht verfügbar. static initializer Der static initializer ist ein Block für Initialisierungen von statischen Variablen, ähnlich dem Konstruktor für Instanzvariablen. Geschachtelte und innere Klasse Es gibt zwei Arten geschachtelter Klassen: statische geschachtelte Klassen und innere Klassen. Statische geschachtelte Klassen dürfen nur auf statische Felder der umschließenden Klasse zugreifen. Innere Klassen gehören zur Instanz der umschließenden Klasse und dürfen weder statische Methoden noch statisch geschachtelte Methoden enthalten. Abgesehen davon entsprechen geschachtelte Klassen den nicht geschachtelten Klassen: sie können abstract sein und von anderen Klassen erben. final Klasse und final Methode Von final Klassen kann nicht geerbt werden, final Methoden können nicht im Untertypen überschrieben werden. Paket
6 Ein Paket dient der Schaffung einer Struktur für Klassen. Zusammengehörige Klassen sollen sich in einem Paket befinden. 26. Wo gibt es in Java Mehrfachvererbung, wo Einfachvererbung? Mehrfachvererbung wird in Java mittels implementierter Interfaces realisiert, Einfachvererbung mittels Erweiterung von Klassen. 27. Welche Arten von import-deklarationen kann man in Java unterscheiden? Man kann einzelne Klassen oder alle Klassen eines Pakets per Wildcard (*) importieren. 28. Welche Möglichkeiten zur Spezifikation der Sichtbarkeit gibt es in Java, und wann soll man welche Möglichkeit wählen? Public, private, protected und default (package access). Methoden, Konstanten und Variablen die bei der Verwendung der Klasse oder ihrer Instanzen benötigt werden, müssen public sein. Methoden, Konstanten und Variablen die nur innerhalb der Klasse verwendet werden, sollen private sein. Methoden und Variablen, die für die Verwendung einer Klasse oder ihrer Instanzen nicht benötigt werden, aber für spätere Erweiterungen benötigt werden könnten, sollen protected sein. 29. Was sind Interfaces in Java, und wodurch unterscheiden sie sich von abstrakten Klassen? Wann soll man Interfaces verwenden? Wann sind abstrakte Klassen besser geeignet? Interfaces sind Definitionen von Schnittstellen. Es dürfen keine Variablen, nur Konstanten definiert werden, alle Methoden sind automatisch public. Die Schlüsselwörter static, final, private und protected dürfen in Methodendeklarationen nicht vorkommen. Interfaces sind auf Grund von Mehrfachvererbung mittels implements flexibler einsetzbar als Klassen und sind wegen der höheren Stabilität (fehlende Implementierungen) besser geeignet als Klassen. Kapitel 3 Wiederholungsfragen 30. Was ist Generizität? Wozu verwendet man Generizität? Generizität ist neben enthaltendem Polymorphismus eine weitere Form des universellen Polymorphismus. Generizität wird zur Erstellung generischer Klassen mit Typparametern eingesetzt. Der Vorteil liegt in der statischen Typsicherheit sowie in der Codeersparnis bei sich nur durch jeweils einen Typen voneinander unterscheidenden Klassen. 31. Was ist gebundene Generizität? Was kann man mit Schranken auf Typparametern machen, was ohne Schranken nicht geht? Bei gebundener Generizität wird auf einem Typparameter eine Schranke definiert. Durch diese Schranke ist der zu verwendende Typ näher spezifizierbar (im Gegensatz zu einfacher Generizität). Wird keine Schranke definiert, so wird implizit Object als Schranke angenommen. 32. In welchen Fällen soll man Generizität einsetzen, in welchen nicht? In erster Linie sollte man Ersetzbarkeit anwenden, in zweiter Linie Generizität. 33. Was bedeutet statische Typsicherheit? Der Compiler garantiert bereits, dass tatsächlich nur erwartete Typen verwendet werden. Dadurch werden Typkonvertierungsfehler zur Laufzeit ausgeschlossen.
7 34. Welche Arten von Generizität hinsichtlich ihrer Übersetzung und ihrem Umgang mit Schranken kann man unterscheiden? Welche davon wird in generischem Java verwendet, und wie flexibel ist diese Lösung? Was sind (gebundene) Wildcards als Typen in Java? Wozu kann man sie verwenden? Gebundene Wildcards definieren eine Schranke auf einem formalen Parameter einer Methode bei der Verwendung eines generischen Typen. z.b.: public meth(list<? extends Polygon> p) { } 36. Wie kann man Generizität simulieren? Worauf verzichtet man, wenn man Generizität nur simuliert? 37. Was wird bei der heterogenen bzw. homogenen Übersetzung von Generizität genau gemacht? 38. Welche Möglichkeiten für dynamische Typabfragen gibt es in Java, und wie funktionieren sie genau? 39. Was wird bei einer Typumwandlung in Java umgewandelt der deklarierte, dynamische oder statische Typ? Warum? 40. Welche gefahren bestehen bei Typumwandlungen? 41. Wie kann man dynamische Typabfragen und Typumwandlungen vermeiden? In welchen Fällen kann das schwierig sein? 42. Welche Arten von Typumwandlungen sind sicher? Warum? 43. Was sind kovariante Probleme und binäre Methoden? Wie kann man mit ihnen umgehen oder sie vermeiden? 44. Wie unterscheidet sich Überschreiben von Überladen, und was sind Multimethoden? 45. Wie kann man Multimethoden simulieren? Welche Probleme können dabei auftreten? 46. Was ist das Visitor-Entwurfsmuster? 47. Wodurch ist das Überladen problematisch, und in welchen Fällen ergeben sich kaum Probleme? 48. Wie werden Ausnahmebehandlungen in Java unterstützt?
8 49. Wie sind Ausnahmen in Untertypbeziehungen zu berücksichtigen? 50. Wozu kann man Ausnahmen verwenden? Wozu soll man sie verwenden, wozu nicht?
Objektorientierte Konzepte
Objektorientierte Konzepte Objekt Klasse enthaltender Polymorphismus (Untertypen) Vererbung Objektorientierte Programmierung, Grundlagen und Ziele 1 Objekt Objekt kapselt Variablen und Routinen Interaktionen
Mehr1. In welchen Formen (mindestens zwei) kann man durch das Ersetzbarkeitsprinzip Wiederverwendung erzielen?
Kapitel 2 1. In welchen Formen (mindestens zwei) kann man durch das Ersetzbarkeitsprinzip Wiederverwendung erzielen? 1. Durch das Verwenden von Untertypbeziehungen: Untertypen können oft einen Großteil
MehrProgrammierparadigmen
Programmierparadigmen Paradigma = Denkweise oder Art der Weltanschauung klassische Einteilung: Programmiersprache imperativ deklarativ prozedural objektorientiert funktional logisch Zusammenhänge tatsächlich
MehrProgrammierparadigmen A01 OOP. Programmierparadigmen
2013-10-09 Programmierparadigmen 1 185.A01 OOP Programmierparadigmen 2013-10-09 Programmierparadigmen 2 OOP Klassische Programmierparadigmen Paradigma = Denkweise oder Art der Weltanschauung klassische
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
MehrInteraktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten
Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere
MehrGeschachtelte Klassen
Geschachtelte Klassen Christian Schamott 1 / 26 Übersicht Gemeinsamkeiten 4 Arten geschachtelte Klassen Elementklasse Lokale Klassen Anonyme Klassen Statisch geschachtelte Klassen Christian Schamott 2
MehrOOP. Tagesprogramm. Beziehungen zwischen Typen Vererbung Sichtbarkeit
1 2016-11-16 Tagesprogramm Beziehungen zwischen Typen Vererbung Sichtbarkeit 2 2016-11-16 Beziehungen zwischen Typen Abstrakte Klassen und Interfaces public abstract class Polygon { public abstract void
MehrOOP Fragenausarbeitung
OOP Fragenausarbeitung Kapitel 2: Enthaltender Polymorphismus und Vererbung 1. In welcher Form kann man durch das Ersetzbarkeitsprinzip Wiederverwendung erzielen? Durch das Verwenden von Untertypbeziehungen.
MehrFaustregeln zu Zusicherungen
Faustregeln zu Zusicherungen Zusicherungen sollen stabil sein (vor allem an Wurzel der Typhierarchie) keine unnötigen Details festlegen explizit im Programm stehen unmissverständlich formuliert sein während
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
MehrUntertypen, Vererbung, Sichtbarkeit A01 OOP. Untertypen, Vererbung, Sichtbarkeit
2013-10-30 Untertypen, Vererbung, Sichtbarkeit 1 185.A01 OOP Untertypen, Vererbung, Sichtbarkeit 2013-10-30 Untertypen, Vererbung, Sichtbarkeit 2 OOP Abstrakte Klassen Polygon ւ ց Triangle Square Hexagon
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
MehrThomas W Zusammenfassung Objektorientierte Programmierung WS 06/07. Zusammenfassung. Objektorientierte Programmierung WS 06/07.
Zusammenfassung Objektorientierte Programmierung WS 06/07 Autor: Thomas W Hinweise Ich empfehle jedem, das Skriptum vor der mündlichen Prüfung durchgelesen und verstanden zu haben, und übernehme (natürlich)
MehrProgrammierparadigmen
Programmierparadigmen DEKLARATIV Funktional Logisch IMPERATIV Prozedural Objektorientiert Einsatz der Programmierparadigmen Systemkomplexität von der Komplexität der Algorithmen dominiert deklarativ oder
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
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
MehrBeispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der
Vererbung Vererbung ist ein Konzept der objektorientierten Programmierung,, die es ermöglicht neue Klassen von bereits vorhandenen Klassen abzuleiten. In einer abgeleiteten Klasse (subclass) muss nur spezifiziert
MehrErsetzbarkeit und Verhalten
Ersetzbarkeit und Verhalten U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Struktur der Typen für Ersetzbarkeit nicht ausreichend Beispiel: void
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 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
MehrAusarbeitung OOP. 1. Grundlagen und Ziele. 1.1 Konzepte objektorientierter Programmierung
Ausarbeitung OOP 1. Grundlagen und Ziele 1.1 Konzepte objektorientierter Programmierung Leichte Wartbarkeit und einfache Änderbeitkeit von Programmen bei Softwareentwicklungsprozessen. 1.1.1 Objekte Ein
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
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
MehrObjektorientierte Programmiertechniken Fragenkatalog
Objektorientierte Programmiertechniken Fragenkatalog Zusammengestellt von: Georg Moser, Marco Handl OOP Fragenkatalog Seite 2 von 23 Kapitel 1 1. Erklären Sie folgende Begriffe: Objekt, Klasse, Vererbung
MehrKapitel 2. Michal Domanski Seite 1
Kapitel 2 1. In welcher Form kann man durch das Ersetzbarkeitsprinzip Wiederverwendung erzielen? Untertyp darf überall verwendet werden wo dessen Obertyp verwendet wird Man erreicht höhere Flexibilität
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
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
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
MehrKlassen und Konstruktoren in Java
Klassen und Konstruktoren in Java class Circle { int r; Circle(int r) { this.r = r; // 1 Circle(Circle c) { this.r = c.r; // 2 Circle() { r = 1; // 3...... Circle a = new Circle(2); // Konstruktor 1 Circle
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
MehrVererbung, Polymorphismus
Vererbung, Polymorphismus INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Automobilbau Firma produziert Limousine Kunde möchte Kombi Wielösen? Möglichkeiten Neudesign
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
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch
MehrUniversität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit
Mehr7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen
7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen
MehrWeitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax
Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface
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
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
MehrInhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
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
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
MehrPaket umfaßt alle Dateien bzw. Klassen im selben Ordner. Kürzer durch Import-Deklaration (am Dateianfang)
Pakete eine public Klasse pro Datei Paket umfaßt alle Dateien bzw. Klassen im selben Ordner explizite Paketdeklaration: package paketname; Aufruf von foo() in der Datei myclasses/test/aclass.java: myclasses.test.aclass.foo()
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
MehrEinführung in die Programmierung
Einführung in die Programmierung Teil 8: Interfaces Prof. Dr. Peer Kröger, Florian Richter, Michael Fromm Wintersemester 2018/2019 Übersicht 1. Einführung 2. Schnittstellen in Java 3. Exkurs: Marker-Interfaces
MehrInformatik II Übung 6
Informatik II Übung 6 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 11.4.2018 Carina Fuss 11.4.2018 1 Übung 6 Nachbesprechung Übung 5 Objektorientierung Vererbung, Polymorphie, abstrakte Klassen, Interfaces,
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)
MehrObjektorientierte Sprachen
Objektorientierte Sprachen Eine Sprache, die Objekte unterstützt, heißt objektbasiert Eine klassenbasierte Sprache unterstützt zusätzlich Klassen Eine objektorientierte Sprache unterstützt zusätzlich die
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
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
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
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,
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,
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
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 / 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
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
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
MehrPraktikum. SEP: Java-Programmierung WS 2018/19. Modularisierung. Thomas Lemberger und Martin Spießl
Praktikum SEP: Java-Programmierung WS 2018/19 Modularisierung Thomas Lemberger und Martin Spießl Basierend auf Folien von Matthias Dangl und Karlheinz Friedberger 1 / 10 Modularisierung Module gliedern
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
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
MehrKlassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object
Smalltalk vs. Objective-C Klassen als Objekte Klassendeklarationen Selektoren als first-class values Objekt-Erzeugung Implementierung: Eigene VM vs. Einbettung in C Smalltalk: Everything is an object Klassen
MehrObjektorientierte Programmierung III
Objektorientierte Programmierung III OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
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
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
MehrObjektorientierte Programmierung. Kapitel 14: Interfaces
14. Interfaces 1/26 Objektorientierte Programmierung Kapitel 14: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/
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,
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
Mehr5. Im Spannungsfeld welcher widersprüchlichen Ziele befinden sich Programmierparadigmen? Wie äußert sich dieses Spannungsfeld?
Objektorientierte Programmiertechniken WS 12/13 Lukas Kränkl (ergänzend zu Georg Moser, Marco Handl) Kapitel 1 1. Was versteht man unter einem Programmierparadigma? Unter Programmierparadigma versteht
MehrSkriptum zu Objektorientierte Programmiertechniken im Wintersemester 2011/2012
OOP 11 Skriptum zu 00 00 000 111 11 11 computer 000 111 lang uages 00 11 Objektorientierte Programmiertechniken im Wintersemester 2011/2012 Franz Puntigam Technische Universität Wien Institut für Computersprachen
MehrOOP 11. Skriptum zu Objektorientierte Programmiertechniken im Wintersemester 2011/2012
2 OOP 11 Skriptum zu 00 11 00 11 000 111 computer 000 111 lang uages 00 11 Objektorientierte Programmiertechniken im Wintersemester 2011/2012 Franz Puntigam Technische Universität Wien Institut für Computersprachen
Mehr1. Abstrakte Klassen
1. Abstrakte Klassen Lernziele 1. Abstrakte Klassen Lernziele: Das Konzept abstrakter Klassen und abstrakter Methoden kennen und verstehen, in der Lage sein, abstrakte Klassen und Methoden in Java zu formulieren,
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,
MehrObjektorientierte Programmierung
Objektorientierte Programmierung WS 2006/2007 Klassen und Vererbung in Java Walter Binder Universität Lugano 2006-11-23 Objektorientierte Programmierung 1 Überblick Konstruktoren Verdecken versus Überschreiben
MehrHSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2
HSR Rapperswil 2001 Markus Rigling Programmieren: Vererbung 1 Variante 2 Inhaltsverzeichnis: 1. Was ist Vererbung...3 2. Anwendung...3 3. Realisierung...3 4. Vorgehensweise zur Erstellung einer Kind-Klasse...3
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
MehrOOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten.
Polymorphismus OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen wiederverwendet sein.
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
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
MehrIT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
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
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
MehrProgrammieren 1 09 Vererbung und Polymorphie
Programmieren 1 09 Vererbung und Polymorphie Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 I. VERERBUNG 2 2 Vererbung Von Interfaces übernehmen
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:
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Objektorientierung in C++ (3) Aspekte der Vererbung (1) Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 546 Zuweisung bei Vererbung Dr. Frank Seifert Vorlesung
MehrObjektorientierte Programmierung mite**
mc Jürgen Franz/Christoph Mattheis Objektorientierte Programmierung mite** Systemunabhängig umsteigen auf C ++ Windowsprogrammierung Beispiele für UNIX Mit 66 Abbildungen Franzis 9 Inhalt 1 Überblick C++
MehrJava als erste Programmiersprache
Joachim Göll Cornelia Heinisch Java als erste Programmiersprache Grundkurs für Hochschulen 8., überarbeitete Auflage Springer Vi eweg Inhaltsverzeichnis 1 Grundlagen der Programmierung 1 1.1 Das erste
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
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
MehrEinführung in die Programmierung I. 11. Vererbung. Stefan Zimmer
Einführung in die Programmierung I 11. Vererbung Stefan Zimmer 21.1.2008 Programmcode wiederverwenden Wenn wir einige Klassen geschrieben haben, werden wir dabei Teile davon öfters hingeschrieben haben
MehrInhaltsverzeichnis. 4.9 Aufgaben... 63
Inhaltsverzeichnis 1 Einleitung 1 1.1 Programmierung... 1 1.2 Objektorientierte Programmierung... 2 1.3 Voraussetzungen und Ziele dieses Buches... 3 1.4 Aufbau dieses Buches... 4 2 Das imperative Hamster-Modell
Mehr14. Java Objektorientierung. Klassen, Vererbung, Kapselung
427 14. Java Objektorientierung Klassen, Vererbung, Kapselung Objektorientierung: Verschiedene Aspekte 428 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen
MehrCreational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.
Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational
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
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
Mehr