01. Grundprinzipien der Vererbung

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "01. Grundprinzipien der Vererbung"

Transkript

1 01. Grundprinzipien der Vererbung

2 1.1 Grundidee der Vererbung Bei der Analyse eines Problems (z.b. Baukasten) stellt man beispielsweise fest, dass 67 % an Daten/Funktionen immer vorkommen 25 % an Daten/Funktionen häufig vorkommen 8% an Daten/Funktionen selten vorkommen Basis-/Superklasse Eigenschaften Methoden Eigenschaften Subklasse Methoden Eigenschaften Spezialklasse Methoden Daten Funktionen 67% 25% 8% Modellierung einer Klasse mit allen Gemeinsamkeiten Basis- oder Superklasse Modellierung von Klassen mit vielen Gemeinsamkeiten unter Verwendung der Basis- /Superklasse usw. Dr. Norbert Spangler / Grundlagen der Informatik

3 Beispiele Basisklasse Geo_Figur Bauteil Artikel Konto (Superklasse) > Ist-Beziehung Ist-Beziehung Ist-Beziehung Ist-Beziehung abgeleitete Klasse Dreieck Lampe Druckerpapier Girokonto (Subklasse) > Ist-Beziehung Ist-Beziehung Spezielle Klasse gleichseitiges Geschäfts- Dreieck konto Ist-Beziehung: Ein Objekt vom Typ Dreieck ist ein spezielles Objekt der Klasse Geo_Figur Ein Objekt vom Typ Druckerpapier ist ein spezielles Objekt der Klasse Artikel usw. Dr. Norbert Spangler / Grundlagen der Informatik

4 Beispiele Geo_Figur Bauteil Artikel > > > Dreieck Viereck Ellipse Lampe Kabel Schalter Druckerpapier Toner Gut gewählte Basisklassen sind ein wichtiges Design-Element in der Gestaltung komplexer Systeme. Reale Objekte dieser Basisklassen werden oft nicht benötigt -> abstrakte Klassen Dr. Norbert Spangler / Grundlagen der Informatik

5 1.2 Definition abgeleiteter Klassen class Abgeleiteteklasse: public Basisklasse private: // hier kommen die zusätzlichen private-elemente // (Eigenschaften und Methoden)... public: // hier kommen die zusätzlichen public-elemente // (Eigenschaften und Methoden)... }; public-vererbung (es gibt noch andere ) Alle public-elemente der Basisklasse sind in der abgeleiteten Klasse auch wieder public-elemente Dr. Norbert Spangler / Grundlagen der Informatik

6 Beispiele class Girokonto: public Konto... }; class Druckerpapier: public Artikel... }; class Lampe: public Bauteil... }; class Toner: public Artikel... }; Dr. Norbert Spangler / Grundlagen der Informatik

7 Beispiel class Druckerpapier: public Artikel private: unsigned int paketgroesse;//neue Eigenschaft double paketpreis;//neue Eigenschaft public: Druckerpapier(unsigned int,string,unsigned int);//konstruktor void setpaketpreis(double);//neue Methode void anzeigen();// ersetzte Methode }; Dr. Norbert Spangler / Grundlagen der Informatik

8 Andere Vererbungen Private/protected-Vererbung Mehrfachvererbung Bauteil Bauteil Bauteil Schalter Schalter Lampe Schalter_mit_Kontrolleuchte Schalter_mit_Kontrolleuchte Dr. Norbert Spangler / Grundlagen der Informatik

9 Elemente der abgeleiteten Klassen Die abgeleitete Klasse - besitzt alle Eigenschaften der Basisklasse - kann neue private-elemente festlegen; auf die kann in der abgeleiteten Klasse zugegriffen werden. Auf die private-elemente der Basisklasse kann nicht direkt zugegriffen werden (nicht sichtbar). -kann neue public-elemente festlegen -Elementen der Basisklasse eine neue Bedeutung geben (Redefinition) Beispiel: die Methode anzeigen für die Anzeige aller Eigenschaften wird angepasst. Diese überdeckt die entsprechende Methode der Basisklasse, d.h. die Methode anzeigen der abgeleiteten Klasse wird dann verwendet. Will man dennoch die Methode der Basisklasse verwenden muss der Bereichsoperator :: verwendet werden : namederbasisklasse::anzeigen() -kann mit den Methoden (der abgeleiteten Klasse) auf alle Elemente (public+private) der abgeleiteten Klasse zugreifen. Dr. Norbert Spangler / Grundlagen der Informatik

10 1.3 UML Bisher: Klassendiagramme und Objektdiagramme als "Stand-alone" Diagramm Beziehungen können zwischen 2 Klassen existieren Bezeichnung Klasse 1 Name Klasse 2 Generalisierung: Drucker- ist ein Artikel papier Assoziation Mitarbeiter arbeitet für Firma Aggregation Lampe ist Teil von Schaltung (1) Komposition Rechnungs- ist Teil von Rechnung (2) position (1) Klasse 1 kann ohne Klasse 2 existieren (2) Klasse 1 kann ohne Klasse 2 nicht existieren Dr. Norbert Spangler / Grundlagen der Informatik

11 UML: Vererbung/Generalisierung Artikel -artikelnummer: unsigned int -bezeichnung: string -bestand: unsigned int -stueckpreis: double +Artikel(unsigned int, string) +reserviere(unsigned int):unsigned int +zugang(unsigned int):void +anzeigen():void Eine abgeleitete Klasse wird mit der Basisklasse durch einen Pfeil mit durchgezogener Linie und nicht ausgefüllter Spitze verbunden is a (ist ein) Beziehung Verwandte Begriffe: Generalisierung, Spezialisierung Druckerpapier -paketgroesse: unsigned int -paketpreis: double +Druckerpapier(uns. int, string,uns. int) +anzeigen():void Dr. Norbert Spangler / Grundlagen der Informatik

12 UML: Vererbung Artikel -artikelnummer: unsigned int -bezeichnung: string -bestand: unsigned int -stueckpreis: double +Artikel(unsigned int, string) +reserviere(unsigned int):unsigned int +zugang(unsigned int):void +anzeigen():void mehrere abgeleitete Klassen Druckerpapier Toner -paketgroesse: unsigned int -paketpreis: double +Druckerpapier(uns. int, string,uns. int) +anzeigen():void +Toner(unsigned int, string) +anzeigen():void Dr. Norbert Spangler / Grundlagen der Informatik

13 UML: Beziehung Klasse-Objekt Artikel -artikelnummer: unsigned int -bezeichnung: string -bestand: unsigned int -stueckpreis: double +Artikel(unsigned int, string) +reserviere(unsigned int):unsigned int +zugang(unsigned int):void +anzeigen():void ^ Ein Objekt kann mit einer Klasse durch einen gestrichelten Pfeil verbunden werden instance of (ist abhängig von) - Beziehung a1: Artikel artikelnummer= bezeichnung=bueroklammern bestand=75 Preis=1,25 Dr. Norbert Spangler / Grundlagen der Informatik

14 1.4 protected Die abgeleitete Klasse kann nicht direkt auf die privaten Elemente der Basisklasse zugreifen sondern nur mittels public-methoden der Basisklasse. Beispiel: bezeichnung aus Artikel steht in Toner nur mittels der Methode getbezeichnung() der Basisklasse zur Verfügung Lösung: Einführung von protected-elementen Auf protected-elemente der Basisklasse kann in den abgeleiteten Klassen direkt (d.h. ohne Methoden) zugegriffen werden. In anderen Klassen ist nach wie vor kein Direkt-Zugriff möglich. Dr. Norbert Spangler / Grundlagen der Informatik

15 class Artikel protected: unsigned int artikelnummer; string bezeichnung; unsigned int bestand; double stueckpreis; }; Beispiel protected public: //Prototypen der Methoden Artikel(); Artikel(unsigned int,string); void zugang(unsigned int); unsigned int reserviere(unsigned int); void anzeigen(); unsigned int getbestand(); void setstueckpreis(double); Damit kann etwa in einem Objekt der Klasse Toner oder Druckerpapier direkt auf bestand, stueckpreis etc. zugegriffen werden.. Ohne protected geht es nur mit getbestand usw. Dr. Norbert Spangler / Grundlagen der Informatik

16 Beispiel protected void Druckerpapier::anzeigen() cout << "\nartikel " <<setw(6)<<setfill('0')<< artikelnummer; cout << "\t"; cout << setw(20) << setfill(' ')<<bezeichnung; cout << " Bestand "<<setw(4)<<bestand<< " Stueck Preis/Stueck "; cout <<setprecision(2)<<fixed<<setw(6)<<stueckpreis<<endl; cout<< "\t\t\tpaketgroesse "<<setw(4)<<paketgroesse; cout << "\t\t Paketpreis "; cout <<setprecision(2)<<fixed<<setw(6)<<paketpreis<<endl; } Ohne protected müssten hier Methoden wie getartikelnummer(), getbezeichnung(), getbestand, getstueckpreis() aufgerufen werden Dr. Norbert Spangler / Grundlagen der Informatik

17 1.5 Redefinierte Methoden Eine Redefinition ist die Vereinbarung einer Methode in der abgeleiteten Klasse, zu der es eine Methode gleichen Namens in der Basisklasse gibt. class Artikel private: public: void anzeigen(); }; class Druckerpapier: public Artikel private: public: void anzeigen();//redefinition }; Problem beim Aufruf: x.anzeigen(); Welche Methode wird genommen? Dr. Norbert Spangler / Grundlagen der Informatik

18 Beispiel void Artikel::anzeigen() // Basisklassenmethode cout << "\nartikel " <<setw(6)<<setfill('0')<< artikelnummer; cout << "\t"; cout << setw(20) << setfill(' ')<<bezeichnung; cout << setw(4) << right; cout << " Bestand "<<setw(4)<<bestand<< " Stueck Preis/Stueck "; cout <<setprecision(2)<<fixed<<setw(6)<<stueckpreis<<endl; } void Druckerpapier::anzeigen()//redefinierte Methode cout << "\npapier " <<setw(6)<<setfill('0')<< artikelnummer; cout << "\t"; cout << setw(20) << setfill(' ')<<bezeichnung; cout << setw(4) << right; cout << " Bestand "<<setw(4)<<bestand<< " Stueck Preis/Stueck "; cout <<setprecision(2)<<fixed<<setw(6)<<stueckpreis<<endl; cout<< "\t\t\tpaketgroesse "<<setw(4)<<paketgroesse; cout << "\t\t Paketpreis"; cout <<setprecision(2)<<fixed<<setw(9)<<paketpreis<<endl; } Dr. Norbert Spangler / Grundlagen der Informatik

19 Redefinierte Methoden Es entscheidet der Typ des Objekts, welche Methode verwendet wird. Die Methode der Basisklasse kann für Objekte der abgeleiteten Klasse nur durch Verwendung des Bereichsoperators :: herangezogen werden. Beispiel: Artikel a1; Druckerpapier d1(117, Office Jet,5); a1.anzeigen(); // anzeigen der Basisklasse Artikel wird verwendet d1.anzeigen(); // anzeigen der abgeleiteten Klasse Druckerpapier wird verwendet d1.artikel::anzeigen(); // anzeigen aus der Basisklasse Artikel wird verwendet Dr. Norbert Spangler / Grundlagen der Informatik

20 Beispielprogramm void main() Artikel a1; Druckerpapier d1(110,"office", 5); a1.anzeigen(); d1.anzeigen(); d1.artikel::anzeigen(); } Dr. Norbert Spangler / Grundlagen der Informatik

21 Namenssuche Wie wird die Methode xyz() in einer Klasse gefunden? Es wird gesucht, ob die aktuelle Klasse eine Methode xyz() besitzt. Falls gefunden : Methode wird gewählt. Falls nicht gefunden : Es wird eine public-methode xyz in der nächsthöheren Basisklasse gesucht. Dieser Vorgang wird gegebenenfalls wiederholt. Dr. Norbert Spangler / Grundlagen der Informatik

22 1.6 Konstruktoren der abgeleiteten Klasse Es müssen prinzipiell alle Eigenschaften der Basisklasse und der abgeleiteten Klasse belegt werden. Hierzu gibt es zunächst 3 Vorgehensweisen (später noch eine) für einen Konstruktor einer abgeleiteten Klasse: a) Man belegt alle Eigenschaften der Basisklasse (mit Methoden der Basisklasse!!!) und die der abgeleiteten Klasse direkt. b) Sofern die Eigenschaften der Basisklasse als protected deklariert wurden lassen sich alle Eigenschaften direkt belegen. c) Man verwendet einen Konstruktor der Basisklasse und belegt die Eigenschaften der abgeleiteten Klasse direkt. Dr. Norbert Spangler / Grundlagen der Informatik

23 Beispiel Konstruktoren der Basisklasse Artikel::Artikel() cout<<"test: Aufruf Defaultkonstruktor Artikel"<<endl; //fuer Test artikelnummer=0; bezeichnung="leer"; bestand=0; stueckpreis=0.0; } Artikel::Artikel(unsigned int nr,string bez) cout<< Test Aufruf Konstruktor Artikel ;//fuer Test artikelnummer=nr; bezeichnung=bez; bestand=0; stueckpreis=0.0; } Dr. Norbert Spangler / Grundlagen der Informatik

24 Beispiel Konstruktor der abgeleiteten Klasse (a) Druckerpapier::Druckerpapier (unsigned int p_nummer, string p_bezeichnung, unsigned int p_paketgroesse) cout<< Test: Aufruf Konstruktor Druckerpapier ;//fuer Test setartikelnummer(p_nummer); //erforderliche Methode der Basisklasse setbezeichnung(p_bezeichnung); //erforderliche Methode der Basisklasse setbestand(0); //erforderliche Methode der Basisklasse setstueckpreis(0.0); //erforderliche Methode der Basisklasse paketgroesse= p_paketgroesse; paketpreis=0.0; }; Problem: Es wurde nur die Methode setstueckpreis vorgesehen. Die anderen gibt es (noch nicht) nicht. Dr. Norbert Spangler / Grundlagen der Informatik

25 Beispiel abgeleitete Klasse/protected- (b) Druckerpapier::Druckerpapier (unsigned int p_nummer, string p_bezeichnung, unsigned int p_paketgroesse) cout<< Test: Aufruf Konstruktor Druckerpapier ;//fuer Test artikelnummer=p_nummer; //erlaubt wenn protected bezeichnung=p_bezeichnung; //erlaubt wenn protected bestand=0; //erlaubt wenn protected stueckpreis=0.0; //erlaubt wenn protected paketgroesse= p_paketgroesse; paketpreis=0.0; }; Was passiert Dr. Norbert Spangler / Grundlagen der Informatik

26 Beispiel main: Aufruf Defaultkonstruktoren void main() Druckerpapier k1(110,"office", 5); k1.anzeigen(); } -> Der Defaultkonstruktor der Basisklasse wird im Konstruktor der abgeleiteten Klasse zuerst aufgerufen. ACHTUNG: Es wird immer ein Konstruktor der Basisklasse aufgerufen. Eigenschaften der Basisklasse werden also doppelt initialisiert -> ungeschickt. Dr. Norbert Spangler / Grundlagen der Informatik

27 Konstruktor mit Basisklassenkonstruktor-( c ) Idee: Verwendung eines Konstruktor der Basisklasse für Eigenschaften der Basisklasse und direkte Belegung der Eigenschaften der abgeleiteten Klasse Druckerpapier::Druckerpapier(unsigned int nr,string bez,unsigned int pk): Artikel(nr,bez) cout<<"test: Aufruf Konstruktor Druckerpapier"<<endl; paketgroesse=pk; paketpreis=0.0; } : KonstruktorBasisklasse( ) Dr. Norbert Spangler / Grundlagen der Informatik

28 Konstruktor mit Basisklassenkonstruktor Allgemein AbgeleiteteKlasse::AbgeleiteteKlasse( ): Basisklasse( ) neueeigenschaft1=parameterx;. } Dr. Norbert Spangler / Grundlagen der Informatik

29 Beispiel main: Aufruf Konstruktor c void main() Druckerpapier k1(110,"office", 5); k1.anzeigen(); } Der ausgewählte Konstruktor der Basisklasse wird nun aufgerufen -> keine doppelte Initialisierung Dr. Norbert Spangler / Grundlagen der Informatik

30 #include "artikel.h" #include "Druckerpapier.h" using namespace std; 1.7 Testprogramm void main() Druckerpapier k1(110,"office", 5); k1.anzeigen(); k1.setstueckpreis(2.70);//basisklassenmethode k1.setpaketpreis(12.5);//methode der abgeleiteten Klasse k1.anzeigen(); //Methode der abgeleiteten Klasse }; Dr. Norbert Spangler / Grundlagen der Informatik

11.3 Virtuelle Methoden

11.3 Virtuelle Methoden 11.3 Virtuelle Methoden Überdeckte Methoden: Betrachten wir noch einmal unsere Klassen Employee und Manager. class Employee void print() const cout

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Einführung in C++ Vererbung und Polymorphismus

Einführung in C++ Vererbung und Polymorphismus Einführung in C++ Vererbung und Polymorphismus Ablauf Grundlegende Eigenschaften der Vererbung in C++ Redefinition und Namensauflösung Eine einfache Klassenhierarchie in Java und C++ Redefinition von virtuellen

Mehr

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure 8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:

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

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Beziehungen zwischen Objekten

Beziehungen zwischen Objekten 1/19 Beziehungen zwischen Objekten Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/19 Outline 1 Vererbung (Wiederholung)

Mehr

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung.

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung. Vorbemerkungen Zur Erinnerung aktueller Standpunkt: Entwickler von (bibliotheken) jetzt sind wichtig interne Repräsentation der Daten Realisierung der gewünschten Funktionalität Bereitstellung geeigneter

Mehr

12. Vererbung. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)

12. Vererbung. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04) 12. Vererbung Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Vererbung Konzept!Protected Section!Virtuelle Mitgliedsfunktionen!Verwendung von Vererbung Copyright: M. Gross, ETHZ, 2003 2 Vererbung!

Mehr

Programmieren - Vererbung & Polymorphie

Programmieren - Vererbung & Polymorphie Programmieren - Vererbung & Polymorphie Reiner Nitsch r.nitsch@fbi.h-da.de Vererbung - Was ist das? Vererbung ist ein wichtiges Konzept zur Unterstützung der Wiederverwendbarkeit, wenn auch nicht das Wichtigste.

Mehr

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen Einleitende Bemerkungen Einleitende Bemerkungen Ideen hinter der objektorientierten Programmierung Objekte (/* Instanzen einer Klasse */) im Mittelpunkt Objekte bilden Einheit aus Daten (/* Attributen,

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung

1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung K05 Vererbung & Polymorphie in C++ 1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung 2 Vererbung in C++: Grundlagen Analog zu Java unterstützt C++ das Konzept der Vererbung:

Mehr

Vererbung und Polymorphie

Vererbung und Polymorphie Vererbung und Polymorphie WiMa-Praktikum 1, Teil C++, Tag 5 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 29.08.08

Mehr

Java: Vererbung. Teil 1: Grundlagen, UML. www.informatikzentrale.de

Java: Vererbung. Teil 1: Grundlagen, UML. www.informatikzentrale.de Java: Vererbung Teil 1: Grundlagen, UML Hierarchie Reptilien Tiere Säugetiere Alle Exemplare einer Klasse verfügen über identische Eigenschaften und nachfolgende Klassen stellen eine Spezialisierung dar.

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

Mehr

Java Vererbung. Inhalt

Java 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

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Die Vererbung ermöglicht es, neue Klassen auf der Basis von schon

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 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

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

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

Einführung in die Programmierung für NF

Einführung in die Programmierung für NF Einführung in die Programmierung für NF UML Valerie Holmeyer Michael Kirsch Direct Feedback Eure Mitarbeit ist mir wichbg Quiz nach den jeweiligen AbschniGen Jeder kann mitmachen App socra&ve auf Smartphone

Mehr

Vererbung. Martin Wirsing. Ziele. Vererbung

Vererbung. Martin Wirsing. Ziele. Vererbung 2 Ziele Martin Wirsing en Begriff der einfachen verstehen und Redefinition von Oberklassenmethoden verstehen spolymorphie verstehen ie Klasse Object kennenlernen in Zusammenarbeit mit Michael Barth, Philipp

Mehr

Programmieren in Java

Programmieren 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

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation zwischen

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Einführung in die Programmierung

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

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

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

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

Klassendiagramm. (class diagram)

Klassendiagramm. (class diagram) : Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Vererbung. Was versteht man unter dem Begriff Vererbung?

Vererbung. Was versteht man unter dem Begriff Vererbung? Was versteht man unter dem Begriff Vererbung? Elternkonstrukt - Datenelemente - Methoden o Deklaration o Definition Kindkonstrukt... Main... Elternkonstrukt b = new Kindkonstrukt() b.fn() Komponenten &

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

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

Programmieren in Java

Programmieren 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

Mehr

Vorlesung Programmieren. Bisher: Klassen und Objekte. Was ist mit ähnlichen Klassen? Vererbung und Polymorphismus

Vorlesung Programmieren. Bisher: Klassen und Objekte. Was ist mit ähnlichen Klassen? Vererbung und Polymorphismus Vorlesung Programmieren Vererbung und Polymorphismus Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Bisher: Klassen und Objekte Haupteigenschaften:

Mehr

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Objektorientierung: Klassen und Objekte

Objektorientierung: Klassen und Objekte Objektorientierung: Klassen und Objekte Klasse: Beschreibung für eine Menge von Objekten Schablone, Bauplan abstrakte Form Objekt: Instanz einer Klasse konkreter Inhalt (Werte) Klassen bestehen aus Attributen

Mehr

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung

Mehr

Einführung in die. objektorientierte Programmierung

Einführung in die. objektorientierte Programmierung Einführung in die objektorientierte Programmierung Teil 3 Vererbung Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik Prof. Dr. Gert Faustmann Fachbereich Berufsakademie

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

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 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

Mehr

VIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden

VIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:

Mehr

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe Angewandte Informatik I Anwendung höherer Programmiersprachen C / C++ Vorlesung der FH Münster Prof. Dr.-Ing. H. Bösche // Programm b0301208 #include { int i = 1, j = 2; cout

Mehr

SWE1 / Übung 9 (11.01.2012)

SWE1 / Übung 9 (11.01.2012) SWE1 / Übung 9 (11.01.2012) Vererbung Zugriffskontrolle Motivation für Vererbung (1) Objekte in der realen Welt kommen oft in ähnlichen Varianten (Attribute, Verhalten) vor Gliederung durch hierarchische

Mehr

Vererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.

Vererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung. Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik II: Objektorientierte SW-Entwicklung,

Mehr

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Objektorientierte 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

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7

Mehr

Informatik II Übung 6 Gruppe 7

Informatik II Übung 6 Gruppe 7 Informatik II Übung 6 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch DEBRIEFING Übung 5 2 U5A1-4 Im Prinzip alles richtig. Falls am Ende noch Zeit, dann Einsicht in die Best Of s 3 THEORIE Java Vererbung,

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Beispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der

Beispiel: 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

Mehr

13. Vererbung. Prof. Dr. François E. Cellier Informatik I für D-ITET (HS 2012)

13. Vererbung. Prof. Dr. François E. Cellier Informatik I für D-ITET (HS 2012) 13. Vererbung Prof. Dr. François E. Cellier Informatik I für D-ITET (HS 2012) Vererbung Konzept Protected Section Virtuelle Mitgliedsfunktionen Verwendung von Vererbung Vererbung Vererbung ist ein Mechanismus,

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS2013/14 Inhalt Übung(Aufklärung) Vererbung(wdh.) Initilisierung bei Vererbung

Mehr

Kurzeinführung in UML

Kurzeinführung in UML Kurzeinführung in UML Die Unified Modeling Language (UML) ist eine Sprache zur Beschreibung von Softwaresystemen. Der Grundgedanke bei UML bestand darin, eine einheitliche Notation für viele Einsatzgebiete

Mehr

Einführung in die Programmierung

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

Mehr

Teil II: OOP und JAVA (Vorlesung 9)

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

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Übungen zu Software-Engineering 1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und

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 die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl

Mehr

Java - Vererbung. Personen. Leibniz Universität IT Services Anja Aue

Java - Vererbung. Personen. Leibniz Universität IT Services Anja Aue Java - Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Eltern-Kind-Beziehung. Ableitung

Mehr

Überschreiben von Methoden

Ü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

Mehr

UML. Weiteres Vorgehen im Projekt

UML. Weiteres Vorgehen im Projekt UML Download objectif Personal Edition (kostenlos): http://www.microtool.de/objectif/de/download.asp Weiteres Vorgehen im Projekt Komponenten, Klassen, Objekte Prozesse Nichtfunktionale Anforderungen Skizzen,

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

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

10. Klassen. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)

10. Klassen. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04) 10. Klassen Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Objektorientierte Programmierung!Das Konzept der Klassen!Members!Objekte!Konstruktoren und Destruktoren!this-Pointer!Public und Private

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

5 Projekt Bankverwaltung

5 Projekt Bankverwaltung Kapitel 5 Bankverwaltung (Lösung) Seite 1/7 5 Projekt Bankverwaltung 5.1 Festlegen der Schnittstelle Bevor du mit der Programmierung beginnst, musst du dir einige Gedanken über die Schnittstelle zwischen

Mehr

Abschnitt 15: Unified Modeling Language (UML)

Abschnitt 15: Unified Modeling Language (UML) Abschnitt 15: Unified Modeling Language (UML) 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

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

1. Von der Idee zur Software 2. Funktionen und Datenstrukturen Lehrbuch: 4.3 3. Organisation des Quellcodes 4. Werte- und Referenzsemantik

1. Von der Idee zur Software 2. Funktionen und Datenstrukturen Lehrbuch: 4.3 3. Organisation des Quellcodes 4. Werte- und Referenzsemantik Software-Technik: Vom Programmierer zur erfolgreichen Software-Technik: Vom Programmierer zur erfolgreichen 1. Von der Idee zur Software 2. Funktionen und Datenstrukturen Lehrbuch: 4.3 3. Organisation

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2009, 16. Juli 2009 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Java, OO und UML Fortsetzung

Java, OO und UML Fortsetzung Java, OO und UML Fortsetzung Das Objektorientierte Paradigma OO bildet keine geschlossene theoretisch abgegrenzte Basis (wie z.b. das Relationsmodell relationaler Datenbanken) OO ist eine Sammlung und

Mehr

Java Einführung Klassendefinitionen

Java Einführung Klassendefinitionen Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Klausurvorbereitung Lösung

Klausurvorbereitung Lösung Ausgabe 1 a) unsigned char erzeuge_bitmuster() static int z=0; int rest; unsigned char bm; rest = z % 4; z=z+1; switch (rest) case 0: bm = 0x00; break; case 1: bm = 0x11; break; case 2: bm = 0x33; break;

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

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

Programmierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.

Programmierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck. Programmierkurs Java Vererbung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Ähnlichkeiten zwischen Klassen? Beispiel: Klassen Auto

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

Aufgabe 1: Quer durch Java (4 Punkte) super abstract abstract protected

Aufgabe 1: Quer durch Java (4 Punkte) super abstract abstract protected Universität Augsburg, Institut für Informatik Sommersemester 2006 Prof. Dr. Werner Kießling 14. Oktober 2006 Markus Endres, Alfons Huhn, Timotheus Preisinger Informatik II Klausur 2 Hinweise: Die Bearbeitungszeit

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 1/21 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 8

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

Labor Modellgestütztes Software Engineering. Versuch 1

Labor Modellgestütztes Software Engineering. Versuch 1 Labor Modellgestütztes Software Engineering Versuch 1 Wintersemester 2015 Dipl.-Ing. (FH) Joachim Hampel Version 7_01, 11.10.2012 Inhaltsverzeichnis Inhalt 1 EINFÜHRUNG... 3 1.1 RHAPSODY MODELER... 4 1.2

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

Arbeitsblätter zu Teil I des Praktikums

Arbeitsblätter zu Teil I des Praktikums Arbeitsblätter zu Teil I des Praktikums Allgemeine Hilfsmittel Bitte benutzen Sie bei Schwierigkeiten mit spezifischem Domänenwissen das Internet als Recherchemöglichkeit (beispielsweise Google oder Wikipedia).

Mehr

Kap 09. Funktionen/Ergänzungen

Kap 09. Funktionen/Ergänzungen Kap 09. Funktionen/Ergänzungen 9.1 Inline-Funktionen Der Mechanismus der Parameterübergabe hat einen "hohen" organisatorischen Aufwand z.b. durch kopieren der Parameteretc. Ist die Funktion vergleichsweise

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

Java I Vorlesung Vererbung und Sichtbarkeit

Java I Vorlesung Vererbung und Sichtbarkeit Java I Vorlesung 4 Vererbung und Sichtbarkeit 17.5.2004 Vererbung Überladen, Überschreiben, Verstecken, Verschatten Zugriffskontrolle Statische Members Wiederholung: OOP Programme bestehen aus Klassen.

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr