Konzepte und Notation der Analyse gelten auch in Entwurf und Implementierung Erweiterung der Konzepte und Notation für den Entwurf

Größe: px
Ab Seite anzeigen:

Download "Konzepte und Notation der Analyse gelten auch in Entwurf und Implementierung Erweiterung der Konzepte und Notation für den Entwurf"

Transkript

1 1 Vorteil der Objektorientierung Konzepte und Notation der Analyse gelten auch in Entwurf und Implementierung Erweiterung der Konzepte und Notation für den Entwurf Ziel der Analyse OOA-Modell als fachliche Lösung Ziel des Entwurfs OOD-Modell als... technische Lösung Spiegelbild des Programms auf höherem Abstraktionsniveau 2 Inhalt 6.1 Objekt/Klasse 6.2 Attribut 6.3 Operation 6.5 Polymorphismus 6.6 Vererbung 6.7 Szenario 6.8 Zustandsautomat

2 3 6.1 Objekt/Klasse Container-Klasse Verwaltet eine Menge von Objekten einer anderen Klasse Sie stellt Operationen bereit, um auf die verwalteten Objekte zuzugreifen Container = Objekt der Container-Klasse Container-Klassen realisieren die Objektverwaltung Typische Container Felder (arrays) Mengen (sets) Objekt/Klasse Beispiel Container für die Verwaltung von Personen Person Personen Name Alter erstelleliste() OOA OOD erstelleliste() 1 * Person Name Alter :Person :Person :Personen :Person

3 5 6.1 Objekt/Klasse Beispiel Sequenzdiagramm für die Verwaltung von Personen im Container :Personen p: Person erstelleliste() getlink() p getname() getalter() Objekt/Klasse Schnittstelle (interface) Spezifiziert einen Ausschnitt aus dem Verhalten einer Klasse Besteht nur aus Signaturen von Operationen Wird durch Klassen realisiert bzw. implementiert (gestrichelter Vererbungspfeil) Eine Schnittstelle ist äquivalent zu einer Klasse, die keine Attribute und ausschließlich abstrakte Operationen besitzt

4 7 6.1 Objekt/Klasse Schnittstelle in Java Kann Konstanten und abstrakte Operationen enthalten Wird mit dem Schlüsselwort interface deklariert Wird von Klassen mit dem Schlüsselwort implements realisiert interface ClassInfo {public abstract String getclassname();} class MyClass implements ClassInfo {public String getclassname() { return "MyClass"; }...} Attribut Sichtbarkeit Analyse Alle Attribute sind außerhalb der Klasse verborgen, jedoch für ihre Unterklassen sichtbar (protected) Entwurf Differenzierung der Sichtbarkeit (visiblility) public (sichtbar für alle anderen Klassen) protected (sichtbar innerhalb der Klasse und in Unterklassen) private (sichtbar nur innerhalb der Klasse)

5 9 6.2 Attribut Notation Attribut-Sichtbarkeit UML Class + publicattribute # protectedattribute privateattribute (für Operationen entsprechend) Abbildung der Attribute in den Entwurf Kreis Kreis Mittelpunkt Radius istsichtbar OOA OOD # Mittelpunkt # Radius # istsichtbar Attribut Klassenattribut Als Klassenattribut realisieren Als Objektattribut einer separaten Klasse realisieren Diese Klasse besitzt dann nur ein einziges Objekt mit dem Wert des Klassenattributs Abgeleitetes Attribut Als Operation realisieren, die stets den aktuellen Wert ermittelt Als Attribut realisieren (Konsistenzprüfung!)

6 Attribut Klassenattribut in Java Kennzeichnung mittels static Zuweisung eines Anfangswerts durch statische Initialisierung, d.h. wenn die Klasse vom Laufzeitsystem geladen wird class Kreis { static int Anzahl = 0;... } Operation Notation Signatur UML Sichtbarkeit Operation (Parameterliste): Ergebnistyp {Merkmal1, Merkmal2,...} Sichtbarkeit [+ # - ] Parameterliste Art Name: Typ = Anfangswert,..., Art = [ in out inout ] Ergebnistyp Fehlt, wenn die Operation keinen Wert zurückgibt

7 Operation Von der Analyse zum Entwurf Analyse Eintrag von Operationen, die für das Verständnis des Fachkonzepts wichtig sind Entwurf Eintrag aller Operationen, die im Programm enthalten sind (keine Verwaltungsoperationen) Kreis Kreis Mittelpunkt Radius istsichtbar OOA OOD # Mittelpunkt # Radius # istsichtbar zeichnen() verschieben() vergrößern() verkleinern() + zeichnen() loeschen() + verschieben() + vergroessern() + verkleinern() 14 Navigation Analyse Alle Assoziationen inhärent bidirektional Entwurf Festlegung, ob uni- oder bidirektionale Implementierung Navigation der Assoziation (navigability)

8 15 Unidirektionale vs. bidirektionale Assoziation Abteilung Angestellter # Bezeichnung + druckegehaltsliste() 1 unidirektional * # Name # Personalnr # Gehalt + druckegehalt() Abteilung Angestellter # Bezeichnung + druckegehaltsliste() 1 bidirektional * # Name # Personalnr # Gehalt + druckeausweis() + druckegehalt() 16 Notation Navigation UML Richtung der Realisierung einer Assoziation mit Pfeilspitze kennzeichnen Eine Assoziation kann keinen, einen oder zwei Pfeile besitzen Zwei Konventionen: 1 Alle Pfeile eintragen Eine Assoziation ohne Pfeile wird nicht realisiert 2 Nicht alle Pfeile eintragen Keine Pfeile: Assoziation wird in beiden Richtungen realisiert Pfeil: Gibt Richtung der Realisierung an Nur sinnvoll, wenn alle Assoziationen des Diagramms auch realisiert werden

9 17 Kardinalität Im OOD-Modell kann Angabe der Kardinalität auf einer Seite fehlen, wenn in dieser Richtung keine Navigation stattfindet Sie ist in diesem Fall irrelevant Sichtbarkeit Für Assoziationen können in der UML zusätzlich Sichtbarkeiten angegeben werden Analog zu Attributen und Operationen Verwendung von +, #, - Verwendung eines expliziten Schlüsselworts (z.b. {public}) als Präfix des Rollennamens 18 Assoziationen mittels Zeigern realisieren Realisierung jeder Richtung einer Assoziation mittels Zeigern zwischen Objekten Jedes Objekt kennt seine assoziierten Objekte Konsistentes Auf- und Abbauen der Verbindungen durch die Operationen muß sichergestellt werden Kardinalität von 0..1 oder 1 Einzelner Zeiger Kardinalität größer 1 Menge von Zeigern Wenn keine Ordnung definiert ist Verwendung von Container-Klassen wie Set, Bag etc.

10 19 Beispiel Realisierung einer bidirektionale Assoziation mittels Zeigern Abteilung 1 * Angestellter :Abteilung :Angestellter :Abteilung :Angestellter :Abteilung :Angestellter 20 Assoziation mittels Klasse realisieren Realisierung der Assoziation mittels einer eigenen Klasse Wird nicht im Klassendiagramm dargestellt wird Assoziierte Objekte kennen sich nicht direkt Das Wissen, wer mit wem verbunden ist, ist nur in dem Assoziationsobjekt verborgen Sinnvoll, wenn die Assoziation nachträglich hinzugefügt wird soll und die Klassen nicht verändert werden sollen

11 21 Realisierung der bidirektionalen Assoziation mittels Assoziationsobjekt Abteilung 1 * Angestellter Abteilung * Abteilung/ Angestellter * Angestellter :Abteilung :Abteilung/ Angestellter :Angestellter :Abteilung :Angestellter :Abteilung... :Angestellter Assoziationsobjekt 22 ordered-restriktion Verbindungen (links) einer Assoziation sind geordnet Enthält keine Aussage über die Art der Ordnung sorted-restriktion Ordnungskriterium sind die Elementwerte Z.B. Sortierung aller Kundenobjekte nach Kundennummer Realisierung von ordered- und sorted- Restriktionen Verwendung einer Container-Klasse, die Ordnung ihrer Elemente ermöglicht (z.b. Array, Vector)

12 23 class Abteilung {protected: VectorBag <Angestellter> Mitarbeiter; public: void link (Angestellter* ang) { Mitarbeiter.addElement (ang); } void unlink (Angestellter* ang) { Mitarbeiter.delElement (ang); } int getlink(angestellter* &ang, int pos) { ang = Mitarbeiter.getElement (pos); } }; 24 Assoziation in Java (Kardinalität <= 1) class Angestellter { protected Abteilung arbeitetin; public void link (Abteilung abt) { arbeitetin = abt; } public void unlink (Abteilung abt) {... arbeitetin = null; } public Abteilung getlink() { return arbeitetin ; } }

13 25 Assoziation in Java (Kardinalität > 1) Klasse Vector verwenden class Abteilung { protected Vector Mitarbeiter; public void link (Angestellter ang) { Mitarbeiter.addElement (ang); } void unlink (Angestellter ang) { Mitarbeiter.removeElement (ang); } Angestellter getlink (int pos) { return (Angestellter)Mitarbeiter.elementAt(pos); } } 26 Aufgabe OOA-Klassendiagramm in Entwurf abbilden und die Objektverwaltung realisieren Erstellen Sie ein OOD-Klassendiagramm Student Firma Matrikelnummer Name Immatrikulation Vordiplom Anzahl * Praktikant 0..1 Name Ort Branche immatrikulieren() druckev ordiplomliste() anmeldenpraktikum()

14 Polymorphismus Definition Polymorphismus (polymorphism) Möglichkeit, den gleichen Namen für gleichartige Operationen zu verwenden, die auf Objekten verschiedener Klassen auszuführen sind Der Sender muß nur wissen, daß ein Empfängerobjekt das gewünschte Verhalten besitzt aber nicht, zu welcher Klasse das Objekt gehört Gegenteil von Polymorphismus: Monomorphismus In allen Programmiersprachen vorhanden, die sowohl eine strenge Typisierung als auch eine frühe Bindung besitzen Polymorphismus Beispiel Deklaration des Zeigers pgrafik Grafikobjekt* pgrafik Operationsaufruf Grafik->zeichnen() besitzt unterschiedliche Wirkungsweisen pgrafik=new Rechteck; Rechteck.zeichnen(); Grafikobjekt # Mittelpunkt # istsichtbar + zeichnen() pgrafik = new Kreis; Kreis.zeichnen() Kreis # Radius + zeichnen() Rechteck # Laenge # Breite + zeichnen()

15 Polymorphismus Polymorphismus macht switch-anweisungen, wo entsprechend dem Objekttyp eine Aktion ausgelöst wird, überflüssig Beispiel enum Grafikart {istrechteck, istkreis}; void zeichnengrafik (Grafik Grafikdaten) switch (Grafikdaten.Art) { case istrechteck: zeichnenrechteck(grafikdaten);break; case istkreis: zeichnenkreis(grafikdaten); break; }; Polymorphismus Überladen (overloading) Verwendung von Operationen mit demselben Namen jedoch unterschiedlicher Semantik und Implementierung für Objekte verschiedener Klassen fi 7»alpha«+»bet«fi»alphabet«Coercion Sprachen, die diese Form unterstützen, erlauben bestimmte Typumwandlungen Beispiel: Addition für reelle Zahlen Bei Verwendung einer ganzen und einer reellen Zahl, wird die ganze Zahl automatisch in eine reelle umgewandelt

16 Polymorphismus Inklusionsbasierter Polymorphismus a. Vererbungsgebundener Polymorphismus, inclusion polymorphism b. Eine Funktion, die für einen bestimmten Typ definiert ist, kann auch mit jedem Untertyp dieses Typs arbeiten c. Erzwingt die Definition von Klassen, die lediglich als Schnittstellen für abgeleitete Klassen dienen Vererbung Vererbung der Sichtbarkeit in Java a. Sichtbarkeit der Oberklasse bleibt stets erhalten Mehrfachvererbung in Java Nicht für Klassen, nur für Schnittstellen class B1 {... } interface B2 {...} interface B3 {...} class D extends B1 implements B2, B3 {...}

17 Szenario Sequenzdiagramm Verzweigung des Kontrollflusses Zusammenfassung mehrerer Abläufe in einem Sequenzdiagramm Reduzierung der Anzahl der Diagramme Entstehung von unübersichtlichen Diagrammen Operationen des Sequenzdiagramms entsprechen den Operationen des zugehörigen Java-Programms Angabe der gestrichelten Rückgabepfeile im Entwurf, wenn es zur Verständlichkeit des Diagramms notwendig ist Optional mit Ergebnisparameter beschriften Szenario Notation Sequenzdiagramm UML :C3 :C4 op() :C1 [x > 0] op1(x) :C2 [x < 0] op2(x) *[i = 1..10] op3(i) op4(z) r op5()

18 Zustandsautomat Modellierung der Benutzungsoberfläche nicht selektiert selektiert LB RB RB bearbeitend entry/ anzeige Menü Bearbeiten LBD RBD verschiebbar kopierbar exit/ anzeige Menü Kopieren LB : left (mouse) button RB : right (mouse) button LBD : left (mouse) button down RBD: right (mouse) button down Zustandsautomat Lebenszyklus Einfache Realisierung mit Zustandsattribut Einfache Realisierung mit ereignis-interpretierender Operation Realisierung komplexer Objekt-Lebenszyklen mittels Zustandsmuster

19 Zustandsautomat Einfache Realisierung mit Zustandsattribut Klasse erhält private-attribut classstate Speichert den aktuellen Zustand des Objekts Jede Operation, die im Lebenszyklus aufgeführt ist, muß dieses Attribut abfragen Aktualisierung von classstate, wenn mit der Operation ein Zustandswechsel verbunden ist Einfache Realisierung mit Operation Klasse, die einen Objekt-Lebenszyklus besitzt, stellt eine ereignis-interpretierende Operation zur Verfügung Interpretation eintreffender Ereignisse Auslösung der entsprechende Verarbeitung Zustandsautomat Zustandsmuster (state pattern) OOA-Klasse bearbeiten() Zustand1 Ereignis wenn Zustand1 dann bearbeiten1 wenn Zustand2 dann bearbeiten2 Zustand2 bearbeiten / bearbeiten() Zustand3 bearbeiten/ bearbeiten() OOD-Klasse + bearbeiten() aktueller Zustand 1 Zustand + bearbeiten() aktuellerzustand > bearbeiten() Zustand1 + bearbeiten() Zustand2 + bearbeiten() Zustand3 + bearbeiten() bearbeiten1 bearbeiten2 keinewirkung

20 Zustandsautomat Zustandsmuster Vorteile Kapselung des kompletten Verhaltens eines Zustands in einer Klasse Leichtes Hinzufügen neuer Zustände und Zustandsübergänge Nachteil Erhöhung der Anzahl der Klassen Zustandsautomat Zustandsautomat in Java Einfache Realisierung Kein benutzerdefinierbarer Aufzählungstyp Definition der Zustände als Integer-Konstanten class Schublade { final static int OFFEN = 1; final static int ZU_UNVERSCHLOSSEN= 2; final static int ZU_VERSCHLOSSEN= 3; private int classstate; public void oeffnen() { if (classstate == ZU_UNVERSCHLOSSEN) classstate = OFFEN;...} }

21 41 Aufgabe Anwenden des Zustandsmusters Buch defekt / entfernen() Ausleihwunsch / ausleihen() Buch verloren / entfernen() Ausleihwunsch / vorbestellen() präsent ausgeliehen neues Buch liegt vor / erfassen() after(abholfrist vorbei) Leser gibt Buch zurück / zurückgeben() Leser holt Buch ab / ausleihen() zur Abholung bereit Buch erfassen() ausleihen() zurückgeben() vorbestellen() entfernen() vorbestellt Leser gibt Buch zurück / zurückgeben()

Theorie zu Übung 8 Implementierung in Java

Theorie 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

Mehr

Software Entwicklung 2. UML im Entwurf

Software Entwicklung 2. UML im Entwurf Software Entwicklung 2 UML im Entwurf Inhalt UML im Entwurf Objekt/Klasse Attribut Operation Assoziation Polymorphismus Vererbung Pakete Szenario Zustandsautomat 2 Lernziele Die Unterschiede zwischen der

Mehr

Objektorientierter Entwurf (OOD) OOD Klassendiagramm

Objektorientierter Entwurf (OOD) OOD Klassendiagramm OOD Klassendiagramm Erweiterung des OOA-Modells und Anpassung an die Zielsprache: 1. Anpassung der Namen im Hinblick auf die Zielsprache 2. Konsequenter Einsatz der Stereotyp-Bezeichnungen:

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben 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

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

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

Mehr

Universitä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 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

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte 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

Mehr

Objektorientierter Entwurf

Objektorientierter Entwurf Objektorientierter Entwurf Udo Kelter 04.10.2003 Zusammenfassung dieses Lehrmoduls Dieses Lehrmodul stellt grundlegende Konzepte des objektorientierten Entwurfs vor. Wir gehen insb. auf die Darstellung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Programmieren in Java

Programmieren 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

Mehr

Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen:

Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 10 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,

Mehr

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 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

Mehr

Vorlesung Datenstrukturen

Vorlesung 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

Mehr

14. Java Objektorientierung

14. Java Objektorientierung Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen

Mehr

Programmieren II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik

Programmieren II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik Programmieren II Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz 9.6 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Abstrakte Klassen: Motivation Grundidee abstrakter Klassen:

Mehr

HSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2

HSR 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

Mehr

1 Abstrakte Klassen, finale Klassen und Interfaces

1 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,

Mehr

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595 Überblick 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML und Java 15.8 Zusammenfassung 15 Unified

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces

14 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

Mehr

Konzepte der Programmiersprachen

Konzepte der Programmiersprachen Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C

Mehr

UML -Klassendiagramme

UML -Klassendiagramme UML -Klassendiagramme UML - offline: ArgoUML http://argouml.stage.tigris.org/ UML online: Links genmymodel.com umlet.com/umletino/umletino.html Arten von UML-Diagrammen Diagramm Strukturdiagramm Verhaltensdiagramm

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen

14 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.

Mehr

Sommersemester Implementierung I: Struktur

Sommersemester Implementierung I: Struktur Sommersemester 2003 Implementierung I: Struktur 2 Aufgabe 3 Implementierung I: Struktur Umfang: 1 Woche Punkte: 50 P. In den ersten beiden Aufgaben wurden die Struktur und das Verhalten des Systems modelliert.

Mehr

2. Vererbung und Kapselung

2. Vererbung und Kapselung 2. Vererbung und Kapselung Die Objekte der Klasse BALL werden im Gegensatz zu den Objekten von KREIS noch nicht graphisch dargestellt. Um die BALL-Objekte auch graphisch darzustellen zu können, muss BALL

Mehr

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

7. 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

Mehr

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax

Weitere 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

Mehr

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

Software Engineering, SoSe 07, WSI, D. Huson, May 7, Software Engineering, SoSe 07, WSI, D. Huson, May 7, 2007 17 4 Modellierung in UML Nach einer Vorlesung von Prof. Andreas Zeller, Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken. 4.1

Mehr

Tafelübung 07 Algorithmen und Datenstrukturen

Tafelü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

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele 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]

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Abstrakte Klassen und Methoden & Interfaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie

Mehr

Objektorientierung. Objekte

Objektorientierung. Objekte Eine Einführung G. Futschek Objekte Objekte Fragen: Wie unterscheiden sich Objekte? Wie sind Objekte einander ähnlich? Was können Objekte? Wie stehen Objekte zueinander in Beziehung? Objekte Im täglichen

Mehr

Objektorientierte Analyse (OOA) Strukturmodellierung

Objektorientierte Analyse (OOA) Strukturmodellierung Strukturmodellierung Seite 1 Strukturmodellierung Seite 2 Anwendung im Projekt Strukturmodellierung Voraussetzung: Use Case Diagramm liefert die funktionelle Gliederung mit Angabe der Ein- und Ausgaben

Mehr

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober 2001 Stefan Holland Informatik II Hinweise: Klausur II Verwenden Sie für Ihre Lösungen ausschließlich

Mehr

Java Einführung Vererbung und Polymorphie. Kapitel 13

Java 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

Mehr

Gliederung der Folien

Gliederung der Folien 1 Gliederung der Folien 1. Einführung 1.1. Gliederung 1.2. Literatur 1.3. Einstieg in Java 1.3.1. Geschichte von Java 1.3.2. Hello World 1.3.3. Übersetzen eines Java-Programms 1.4. Die Entwicklungsumgebung

Mehr

Java für Bauingenieure

Java 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

Mehr

UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme

UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme Musterklausur zur Einführung in die Informatik II 1. Teilklausur, 23.06.2006 Bitte lesen

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung

Prof. 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

Mehr

Programmiertechnik Objektorientierung

Programmiertechnik Objektorientierung Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was ist Objekt-Orientierung? Objekt-Orientierung (OO) ist nicht völlig scharf definiert, d.h. es gibt unterschiedliche

Mehr

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Einführung in die Programmiersprache Java II

Einfü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

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt.

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Was ist eine Klasse? Was ist ein Objekt? Geben Sie ein

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

FH 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

Mehr

Softwaretechnik SS 2006

Softwaretechnik SS 2006 Softwaretechnik SS 2006 6. Vorlesungseinheit Prof. Dr. Urs Andelfinger Darmstadt, 15. Mai 2006 Softwaretechnik (SWT) Vorlesung und Praktikum SS 2006 Inhaltsübersicht SW-Management SW-Entwicklung SW-Qualitätsmgmt.

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 12. UML GUI-Schicht 1 GUI-Schicht Sichtbarmachen

Mehr

1. Abstrakte Klassen

1. 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,

Mehr

Teil 2: OOP und JAVA (Vorlesung 11)

Teil 2: OOP und JAVA (Vorlesung 11) Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil

Mehr

Programmierkurs C++ Abstrakte Klassen und Methoden

Programmierkurs C++ Abstrakte Klassen und Methoden Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Name: Matrikelnummer: Note: Prüfungstag: 03.03.2011 Prüfungsdauer:

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 32 Schablonen (templates) UML: Zustandsdiagramme Zustandsmuster Interpreter 2 / 32

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 32 Schablonen (templates) UML: Zustandsdiagramme Zustandsmuster Interpreter 2 / 32

Mehr

Algorithmen und Datenstrukturen 06

Algorithmen 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

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte 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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Einführung in C# Teil 3. Matthias Nübling

Einfü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,

Mehr

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 -

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 - Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 5 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule

Mehr

Objektorientierte und Funktionale Programmierung

Objektorientierte und Funktionale Programmierung Objektorientierte und Funktionale Programmierung SS 2013 3 Objektorientierter Entwurf mit UML und Java Wissensbassierte Systeme / Wissensmanagement Objektorientierte und Funktionale Programmierung Prüfungstermine

Mehr

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12. Heute Nachbetrachtung Wissensüberprüfung Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.2015 IT I - VO 9 1 Organisatorisches Zwischentest findet am 16.12. von 17:30 bis

Mehr

Übersicht. Vorstellung des OO-Paradigmas

Übersicht. Vorstellung des OO-Paradigmas Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java

Mehr

Vererbung, Polymorphismus

Vererbung, 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

Mehr

Programmiermethodik 1. Klausur

Programmiermethodik 1. Klausur Programmiermethodik 1. Klausur 27. 6. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 21 2 20 3 19 4 19 5 21 6 20 Gesamt 120 1 Seite 2 von 18 Aufgabe 1) Objekt-Orientierung und Vererbung

Mehr

Algorithmen und Programmierung III WS 05/06

Algorithmen und Programmierung III WS 05/06 Algorithmen und Programmierung III WS 05/06 Übungsblatt 4 - Abgabe vor der Vorlesung 15.11.05 Aufgabe 0 (Wiederholung) [Optional] Ausnahmen (throw, catch, finally, throws, Behandlung, Laufzeitausnahmen,

Mehr

Vorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3

Vorausgesetzte 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,

Mehr

Info B VL 8: Abstrakte Klassen & Interfaces

Info B VL 8: Abstrakte Klassen & Interfaces Info B VL 8: Abstrakte Klassen & Interfaces Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 8: Abstrakte

Mehr

Objektorientierte und Funktionale Programmierung

Objektorientierte und Funktionale Programmierung Objektorientierte und Funktionale Programmierung SS 2013 3 Objektorientierter Entwurf mit UML und Java Wissensbassierte Systeme / Wissensmanagement Objektorientierteund FunktionaleProgrammierung PrüfungstermineOFP

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, Schnittstellen und Pakete

Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, Schnittstellen und Pakete 2 Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, und Pakete Martin Wirsing Ziele Den Begriff der einfachen und mehrfachen Vererbung verstehen Verstehen, wann Vererbung eingesetzt wird deklarationen

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 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,

Mehr

Vererbung. Oberklassen und Unterklassen

Vererbung. Oberklassen und Unterklassen Vererbung Oberklassen und Unterklassen Vererbung ist ein zentrale Bestandteil der Objektorientierung. Man beschreibt damit die Möglichkeit, Eigenschaften und Methoden vorhandener Klassen auf andere (neue)

Mehr

Programmieren 2 Java Überblick

Programmieren 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

Mehr

Algorithmen und Programmierung II

Algorithmen und Programmierung II Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung

Mehr

Präsentation Interfaces

Prä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.

Mehr

Einfache Datentypen in JAVA

Einfache Datentypen in JAVA 5.4.1. Einfache Datentypen in JAVA Ganzzahlige Datentypen byte 8 bits -128

Mehr

4. Vererbung Die Klasse Object. Die Klasse Object

4. 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

Mehr

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Grundzü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

Mehr

Vererbung. CoMa-Übung XI TU Berlin. CoMa-Übung XI (TU Berlin) Vererbung / 47

Vererbung. CoMa-Übung XI TU Berlin. CoMa-Übung XI (TU Berlin) Vererbung / 47 Vererbung CoMa-Übung XI TU Berlin 16.01.2013 CoMa-Übung XI (TU Berlin) Vererbung 16.01.2013 1 / 47 Themen der Übung Themen heute Evaluation Rücksprachen IDEs Eclipse & Netbeans Packages, innere Klassen

Mehr

Kapitel 5: Interfaces

Kapitel 5: Interfaces Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 5: Interfaces Folie 82 : Einleitung Betrachtet man die Programmierleistung für ein Produkt über einen längeren Zeitraum,

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2007/2008 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 8 F. Forster, T.

Mehr

Abstrakte Klassen, Interface. DVG Abstrakte Klassen, Interface

Abstrakte Klassen, Interface. DVG Abstrakte Klassen, Interface Abstrakte Klassen, Interface Beispiel: Vögel Definition von Klassen enthält Abstraktion von den konkreten Objekten. Z.B.: Klasse: Vogel Kann ein Objekt der Klasse Vogel instanziiert werden? Nein, es gibt

Mehr

Programmieren II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik

Programmieren II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik Programmieren II Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz 9.6 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Abstrakte Klassen: Motivation Prinzip der Vererbung: Aus

Mehr

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Anwendungsentwicklung 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,

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen

Mehr

Javakurs für Anfänger

Javakurs 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

Mehr

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

Programmiermethodik 3. Klausur Lösung

Programmiermethodik 3. Klausur Lösung Programmiermethodik 3. Klausur Lösung 9. 1. 2014 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 16 3 45 4 19 5 20 Gesamt 120 1 Seite 2 von 10 Aufgabe 1) Objekt-Orientierung und Vererbung

Mehr

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th Letschert FH Gießen-Friedberg Th. Letschert OOP 2 Sichtbarkeitsbeziehungen und Geheimnisprinzip Sichtbarkeitsbeziehungen realisieren

Mehr