Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++
|
|
- Ruth Kästner
- vor 6 Jahren
- Abrufe
Transkript
1 Grundkurs C++ IDE Implementierung von Klassenhierarchien Compiler, Linker Buildsysteme
2 Tim Habigt Büro Z949 Julian Habigt Büro Z941 Grundkurs C++ 2
3 Warum C++? Sprache Rechenzeit Memory KB C++ GNU g++ 5, Java 6 26, Python 3 27, C# Mono 96, Software: regex-dna, Debian Computer Language Shootout Grundkurs C++ 3
4 Warum C++? Grundkurs C++ 4
5 Warum C++? Strenge Standardisierung von Beginn an (ca. 1985) Extrem schnelle und effiziente Compiler Wird immer noch weiterentwickelt C++11 seit August 2011 standardisiert Große Vielfalt an Compilern für die allermeisten Plattformen Viele Entwicklungstools verfügbar Grundkurs C++ 5
6 Das Ziel Entwicklung eines Spiels Teamarbeit in Teams aus 5 Personen Grundkurs C++ 6
7 Das Ziel Entwicklung eines Spiels Teamarbeit in Teams aus 5 Personen Roboter erst im Leistungskurs, sorry Grundkurs C++ 7
8 Zeitplan Vorlesung Entfällt Vorlesung, Gruppeneinteilung Vorlesung Vorprojekt Vorlesung und Präsentation Analyse- & Designmodell und Working Sessions und Abschlusspräsentation Show & Tell Grundkurs C++ 8
9 Inhalte Objektorientierung Implementierung von Klassen Entwicklungsumgebung (IDE) Compiler, Linker Grafische Oberflächen (Qt) Ausnahmebehandlung Versionsverwaltung Analyse und Design Debugging Grundkurs C++ 9
10 Bewertung Eine Hausaufgabe (ca. 10%) Vorprojekt (ca. 15%) Designmodell und Pflichtenheft (ca. 10%) Abschlusspräsentation (ca. 10%) Hauptprojekt (ca. 50%) Dokumentation (ca. 5%) Grundkurs C++ 10
11 Nützliches LDV-Webseite zum Kurs Hausaufgaben Vorlesungsfolien Skript C++ Buch Thinking in C++ 2 Tutoren, die euch bei sämtlichen Fragen und Problemen weiterhelfen werden cpp-tutor@ldv.ei.tum.de Praktikumsraum Grundkurs C++ 11
12 IDE Integrated Development Environment Wir empfehlen: Qt Creator (Bestandteil des Qt SDK) Download unter : Bei Problemen: Bitte nicht zögern, die Tutoren zu fragen! Ausführliche Dokumentation unter Grundkurs C++ 12
13 Tutoren 2 Tutoren / 10 h pro Woche Sprechstunden auf der Kurswebseite Grundkurs C++ 13
14 Motivation Realität ist objektorientiert Vereinfachung und Kapselung Wiederverwendbarkeit Leichte Erweiterbarkeit Parallelisierbarer Entwicklungsprozess Grundkurs C++ 14
15 Aufbau und Eigenschaften eines Objekts von Außen Objekt hat öffentliche Eigenschaften (Attribute) Objekt besitzt öffentlich definierte Funktionen (Methoden), welche sich auf seine Eigenschaften auswirken von Innen Verarbeiten der über Funktionsaufrufe eingehenden Befehle (Botschaft) zur Änderungen der Eigenschaften Interne Funktionen und Eigenschaften, zur Wahrnehmung der äußeren Funktion Grundkurs C++ 15
16 Aufbau und Eigenschaften des Objekts Auto von Außen zugänglich Attribut Geschwindigkeit (nur lesend) Methoden beschleunigen und bremsen definierte Funktionsweise Aufruf der Methoden verändert die Geschwindigkeit von Innen Wird beschleunigen aufgerufen, mehr Kraftstoff an den Motor liefern Wird bremsen aufgerufen, Bremsanlage betätigen Grundkurs C++ 16
17 Folgen dieses Aufbaus für das Objekt Auto Für den externen Benutzer von Auto ist es vollkommen egal was passiert wenn er beschleunigen möchte Jedes Auto -Objekt MUSS die Methode beschleunigen und bremsen verstehen Der Aufruf der Methode beschleunigen ist von der konkreten Implementierung von Auto vollkommen unabhängig Auto -Objekte können innerhalb des Programms beliebig ausgetauscht werden Grundkurs C++ 17
18 Begriffe: Objekt Klasse Instanz Bei der Arbeit mit Objekten unterscheidet man: Klasse Zusammenfassung von ähnlichen Objekten, welche sich nur in Ihren Attributen unterscheiden Charakterisiert die Objekte Schablone / Prototyp Instanz Konkretes Objekt das bestimmte Attributwerte aufweist Grundkurs C++ 18
19 Beispiel: Objekt Klasse Instanz Klasse Auto Attribute: Geschwindigkeit Methoden: beschleunigen bremsen Julians Auto Attribute: Geschwindigkeit =50,4 Methoden: beschleunigen bremsen Instanzen Tims Auto Attribute: Geschwindigkeit=62,7 Methoden: beschleunigen bremsen Grundkurs C++ 19
20 Implementierung einer einfachen Klasse Auto - m_geschwindigkeit: double + beschleunigen() + bremsen() + getspeed(): double Grundkurs C++ 20
21 Namensbereiche (namespaces) Vermeidung von Mehrdeutigkeiten Klassen und Variablen werden zu logischen Paketen zusammengefasst Deklaration/Erweiterung an verschiedenen Stellen in mehreren Dateien möglich namespace mynamespace{} Einbinden eines Namenbereichs ist global, innerhalb eines Namensbereichs, innerhalb einer Funktion möglich using namespace mynamespace; Einbeziehen einzelner Bestandteile eines Namensbereichs mit Bereichszugriffsoperator möglich mynamespace::fkt1(); Einbinden eines einzelnen Elements: using namespace mynamespace::fkt1(); Grundkurs C++ 21
22 //Auto.h #ifndef AUTO_H #define AUTO_H class Auto { public: void beschleunigen(); void bremsen(); double getspeed(); // Methode, nur Deklaration private: double m_geschwindigkeit; }; #endif // Attribut Grundkurs C++ 22
23 //Auto.cpp #include Auto.h // Implementierung der Methode beschleunigen void Auto::beschleunigen() { m_geschwindigkeit += 10.0; } void Auto::bremsen() { m_geschwindigkeit -= 10.0; } double Auto::getSpeed() { return m_geschwindigkeit; } Grundkurs C++ 23
24 //main.cpp #include Auto.h int main () { Auto meinauto; double geschwindigkeit; // Autoobjekt erstellen meinauto.beschleunigen(); geschwindigkeit = meinauto.getspeed(); // Methode des Objekts aufrufen // Geschwindigkeit auslesen } return 0; Grundkurs C++ 24
25 //main.cpp #include Auto.h int main () { Auto meinauto; Auto* meinautozeiger; double geschwindigkeit; // Autoobjekt erstellen // Zeiger auf Autoobjekt meinautozeiger = &meinauto; meinautozeiger->beschleunigen(); geschwindigkeit = meinautozeiger->getspeed(); // Zeigeradresse setzen // Methode des Objekts aufrufen // Methode über Zeiger aufrufen } return 0; Grundkurs C++ 25
26 Generalisierung / Vererbung Vererbung ermöglicht Gruppen von Klassen, die sich ähnlich sind, aber Unterschiede haben Gemeinsame Attribute und Methoden werden in der Elternklasse definiert Verschiedene Kinder erben diese und implementieren weitere Methoden und Attribute Jedes Kind kann auch die Methoden und Attribute der Eltern überschreiben, also neu implementieren Grundkurs C++ 26
27 Beispiel: Vererbung Auto Geschwindigkeit beschleunigen() bremsen() Cabrio Geschwindigkeit VerdeckOffen beschleunigen() bremsen() verdecköffnen() LKW Geschwindigkeit Anhänger beschleunigen() bremsen() Rot: geerbte Attribute/Methoden Blau: überschriebene Methoden Grundkurs C++ 27
28 Objektbeziehungen Wesentliches Merkmal der objektorientierten Programmierung ist die Interaktion der Objekte Objekte stehen in Beziehungen zueinander Es gibt verschiedene Arten von Beziehungen Komposition Aggregation Assoziation Grundkurs C++ 28
29 Objektbeziehungen Komposition Teile existieren nur gemeinsam Aggregation Teile bilden eine Einheit Können auch alleine existieren Assoziation Teile agieren gemeinsam: flüchtige Bindung Unternehmen Abteilung Mitarbeiter Komposition ist Teil von Assoziation interagiert mit Aggregation ist enthalten in Kunde Grundkurs C++ 29
30 Erwartungen an das objektorientierte Paradigma Wiederverwendbarkeit Erweiterbarkeit Leichte Wartbarkeit Wodurch? Klasse hat definiertes Verhalten wegen Kapselung Die Attribute, und damit die Daten der Klasse sind nicht beliebig änderbar. Grundkurs C++ 30
31 Realisierung der Kapselung Der Zugriff auf Attribute des Objekts muss geregelt werden Methoden dienen zur Abarbeitung von Botschaften Methoden sind also die Schnittstelle zu den Daten des Objekts Auto Geschwindigkeit beschleunigen() bremsen() Cabrio VerdeckOffen verdecköffnen() LKW Anhänger bremsen() Es sind folgende Fragen zu klären: Welche Methode darf welche Daten ändern? Wer darf die Methoden aufrufen? Grundkurs C++ 31
32 Realisierung der Kapselung Auto Cabrio VerdeckOffen verdecköffnen() Geschwindigkeit Klasse besteht aus: beschleunigen() bremsen() LKW Anhänger bremsen() Attributen und Methoden der Basisklasse Eigenen Attributen und Methoden Zugriffsregelung sollte auf Vererbung aufsetzen! Grundkurs C++ 32
33 Public Manche Daten sind jedem zugänglich, also allen Methoden jeglicher Klassen Beispiel: Luftdruck (durch Methoden luftdruckerhoehen(), luftdruckerniedrigen(), Attribut Luftdruck) + Luftdruck Auto + luftdruckerhoehen() + luftdruckerniedrigen() + public- Attribut/Methode Grundkurs C++ 33
34 Private Auf manche Daten können nur die Methoden der Klasse zugreifen Beispiel: Geschwindigkeit (durch Methoden bremsen(), beschleunigen()) Auto - Geschwindigkeit + bremsen() + beschleunigen() + public- Attribut/Methode - private- Attribut/Methode Grundkurs C++ 34
35 Protected Auf manche Daten können nur die Methoden der Klasse zugreifen, sowie die Methoden der Klassen, die von dieser erben Beispiel: InnenraumTemperatur (durch Methoden der abgeleiteten Klasse heizen(), kühlen()) Auto Cabrio # InnenraumTemperatur + heizen() + kühlen() + public # protected - private Grundkurs C++ 35
36 Überblick Auto + Luftdruck # innenraumtemperatur - Geschwindigkeit + bremsen() + beschleunigen() + luftdruckerhoehen() + luftdruckerniedrigen() + public- Attribut/Methode # protected Attrib./Meth. - private- Attribut/Methode Grundkurs C++ 36
37 Private und protected Methoden Auto + Luftdruck # InnenraumTemperatur - Geschwindigkeit Cabrio + beschleunigen() + luftdruckerhoehen() + luftdruckerniedrigen() # alarmauslösen() - benzinpumpen() + heizen() + kühlen() + public- Attribut/Methode # protected Attrib./Meth. - private- Attribut/Methode Grundkurs C++ 37
38 Public Attribute <-> Kapselung Attribute, die durch jeden also alle Methoden änderbar sind! Auto + Anzahl der Kratzer + Tankinhalt Keine Kapselung! Art der Zugriffe völlig unbestimmt! Grundkurs C++ 38
39 Public Attribute <-> Kapselung II Immer besser: Methoden zum Setzen und Auslesen der Attribute Aber: nur wo nötig und sinnvoll, da die Kapselung sonst aufgeweicht wird Auto - Anzahl der Kratzer - Tankinhalt + gettankinhalt() + settankinhalt() Das Verhalten kann definiert werden, d.h. Bereichsüberwachung ist beispielsweise möglich Fehlersuche und Wartung wird enorm vereinfacht Grundkurs C++ 39
40 Zugriffsregelung und Vererbung Quadrat - m_laenge : double Rechteck - m_breite : double + setlaenge (laenge: double) + getlaenge () : double + setbreite (breite: double) + getbreite () : double Grundkurs C++ 40
41 Zugriffsregelung und Vererbung class Quadrat { public: void setlaenge(double laenge); // Methode, nur Deklaration double getlaenge() { return m_laenge; } // Methode mit Definition private: int m_laenge; // Attribut }; class Rechteck : public Quadrat { // Vererbung der Klasse Quadrat public: void setbreite(double breite); double getbreite () { return m_breite; } private: double m_breite; }; Grundkurs C++ 41
42 Zugriffsregelungen bei Ableitung: public AK : public BK{ } Basisklasse public abgeleitete Klasse public protected protected private private * *Zugriff kann nur über Methoden der Basisklasse erfolgen! Grundkurs C++ 42
43 Zugriffsregelungen bei Ableitung: protected AK : protected BK{ } Basisklasse public abgeleitete Klasse protected protected protected private private * *Zugriff kann nur über Methoden der Basisklasse erfolgen! Grundkurs C++ 43
44 Zugriffsregelungen bei Ableitung: private AK : private BK{ } Basisklasse public AK : BK{ } abgeleitete Klasse private protected private private private * *Zugriff kann nur über Methoden der Basisklasse erfolgen! Grundkurs C++ 44
45 Speicherverwaltung in C++ Stack //main.cpp #include Auto.h int main () { Auto meinauto; // Objekt wird auf Stack angelegt } // Wenn die Methode terminiert, werden Stack-Objekte gelöscht Grundkurs C++ 45
46 Speicherverwaltung in C++ Heap, new und delete //main.cpp #include Auto.h int main () { Auto* meinautodyn; meinautodyn = new Auto; // Zeiger auf Quadrat-Objekt // neues Objekt auf heap erstellen } delete meinautodyn; // Auto-Objekt löschen, Speicher freigeben Grundkurs C++ 46
47 Konstruktor, Destruktor und this-zeiger class A { public: A () { c = 10; } // Konstruktor ~A(); // Destruktor void getzustand(); private: int c; }; int main() { A neuesobjekt(); } Grundkurs C++ 47
48 Konstruktor, Destruktor und this-zeiger class A { public: A (int c = 1000, int d = 2000) { this->c = c; this->d = d;} // Konstruktor ~A(); // Destruktor void getzustand(); private: }; int c; int d; int main() { A neuesobjekt(); A neuesobjekt2(200, 300); } Grundkurs C++ 48
49 //Auto.h #ifndef AUTO_H #define AUTO_H class Auto { public: Auto(); ~Auto(); void beschleunigen(); void bremsen(); double getspeed(); // Konstruktor // Destruktor // Methode, nur Deklaration private: double m_geschwindigkeit; }; #endif // Attribut Grundkurs C++ 49
50 //Auto.cpp #include Auto.h Auto::Auto() { m_geschwindigkeit = 0; } Auto::~Auto() { } void Auto::beschleunigen() { m_geschwindigkeit += 10.0; } void Auto::bremsen() { m_geschwindigkeit -= 10.0; } double Auto::getSpeed(){ return m_geschwindigkeit;} Grundkurs C++ 50
51 Initialisierungslisten class A { public: A (int k = 1000, int l = 2000) : c(k), d(l) { } void getzustand(); private: int c; int d; } Grundkurs C++ 51
52 Konstruktor und Ableitung class A { public: A (int k=1, int l=2) : c(k), d(l){std::cout << A! << \n ;} private: int c; int d; } class B : A { public: B (int m=3) : e(m){std::cout << B! << \n ;} private: int e; } int main{ } B b; Grundkurs C++ 52
53 Konstruktor und Ableitung class A { public: A (int k=1, int l=2) : c(k), d(l){std::cout << A! << \n ;} private: int c; int d; } class B : A { public: B (int m=3) : e(m){std::cout << B! << \n ;} private: int e; } Ausgabe: int main{ } B b; A! B! Abgeleitete Klasse ruft Standardkonstruktor der Basisklasse auf! Grundkurs C++ 53
54 Aufrufreihenfolge von Konstruktoren Konstruktoren der Basisklassen(n) Konstruktoren der Elementobjekt-Klassen Konstruktoren der abgeleiteten Klasse Grundkurs C++ 54
55 Initialisierungslisten II class A { public: A (int k=1, int l=2) : c(k), d(l){std::cout << A! << \n ;} private: int c; int d; } class B : A { public: B (int m=3,int n=6,int o=9) : A(n,o),e(m){std::cout << B! << \n ;} private: int e; expliziter Aufruf des Konstruktors der Basisklasse } Reihenfolge bleibt unverändert Grundkurs C++ 55
56 Verdeckung class A { protected: int c; int d; public: A() : c(1),d(2){} void getzustand(){std::cout <<"A: " << c <<" "<< d <<"\n";} }; class B : A { private: int d; public: B(): d(3) {} void getzustand(){std::cout <<"B: " << c <<" "<< d <<"\n";} }; int main(){ B b; b.getzustand(); }
57 Verdeckung class A { protected: int c; int d; public: A() : c(1),d(2){} void getzustand(){std::cout <<"A: " << c <<" "<< d <<"\n";} }; class B : A { private: int d; public: B(): d(3) {} void getzustand(){std::cout <<"B: " << c <<" "<< d <<"\n";} }; int main(){ B b; b.getzustand(); } Ausgabe: B: 1 3
58 Bereichszugriffsoperator class A { protected: int c; int d; public: A() : c(1),d(2){} void getzustand(){std::cout <<"A: " << c <<" "<< d <<"\n";} }; class B : A { private: int d; public: B(): d(3) {} void getzustand(){std::cout <<"B: " << c <<" "<< A::d <<"\n";} }; int main(){ B b; b.getzustand(); } Ausgabe: B: 1 2
59 Mehrfachvererbung class A { public: A(int x=1000, int y=2000):i(x),j(y){} void getzustand(); private: int i; int j; }; class B : public A { public: B(int x, int y=102, int z=103) : A(111, 112), k(z) {} void getzustand(); private: int k; }; class C : public A{ public: C(int x, int y=201, int z=202) : A(211, 212), l(z) {} private: int l; void getzustand(); }; Attribute der Klasse A 2x in D unveränderte Reihenfolge der Konstruktoraufrufe class D : public B, public C{ public: D(int x=201, int y=202, int z=203) : B(311, 312), C(321,322), m(z){} void getzustand(); private: int m; };
60 Mehrfachvererbung class A { public: A(int x=1000, int y=2000):i(x),j(y){} void getzustand(); private: int i; int j; }; class B : virtual public A { public: B(int x, int y=102, int z=103) : A(111, 112), k(z) {} void getzustand(); private: int k; }; class C : virtual public A{ public: C(int x, int y=201, z=202) : A(211, 212), l(z) {} private: int l; void getzustand(); }; Attribute der Klasse A nur noch einmal in D! class D : public B, public C{ public: D(int x=201, int y=202, int z=203) : B(311, 312), C(321,322), m(z){} void getzustand(); private: int m; };
61 Hausaufgabe heute Abend auf Abgabetermin: 8. Mai 2013, 15:00 Uhr per an Grundkurs C++ 88
Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Einführung
Grundkurs C++ Einführung Tim Habigt tim@tum.de Büro Z949 Julian Habigt jh@tum.de Büro Z941 Grundkurs C++ 2 Warum C++? Sprache Rechenzeit Memory KB C++ GNU g++ 5,74 182.244 Java 6 26,34 686.076 Python 3
MehrGrundkurs C++ Einführung
Grundkurs C++ Einführung Martin Knopp 26.04.2017 Folie 1/34 GK C++: Einführung Martin Knopp 26.04.2017 Martin Knopp Martin.Knopp@tum.de Büro Z934 Folie 2/34 GK C++: Einführung Martin Knopp 26.04.2017 Warum
MehrGrundkurs C++ Einführung
Grundkurs C++ Einführung Martin Knopp & Johannes Feldmaier 13.04.2016 Folie 1/34 GK C++: Einführung Martin Knopp & Johannes Feldmaier 13.04.2016 Martin Knopp Martin.Knopp@tum.de Büro Z934 Johannes Feldmaier
MehrGrundkurs C++ IDE Klassenhierarchien
Grundkurs C++ IDE Klassenhierarchien Martin Knopp 03.05.2017 Folie 1/34 GK C++: IDE, Klassenhierarchien Martin Knopp 03.05.2017 IDE Integrated Development Environment Wir empfehlen: Qt Creator (Bestandteil
MehrGrundkurs C++ IDE Klassenhierarchien
Grundkurs C++ IDE Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 Folie 1/35 GK C++: IDE, Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 IDE Integrated Development Environment
Mehr7. Übung Informatik II - Objektorientierte Programmierung
7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrC++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
MehrÜberblick. Überblick zum weiteren Inhalt
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrThema heute: Vererbung und Klassenhierarchien. Abgeleitete Klassen. Vererbung von Daten und Funktionen. Virtuelle Funktionen
1 Thema heute: Vererbung und Klassenhierarchien Abgeleitete Klassen Vererbung von Daten und Funktionen Virtuelle Funktionen 2 Vererbung oft besitzen verschiedene Datentypen einen gemeinsamen Kern Beispiel:
MehrHSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2
HSR Rapperswil 2001 Markus Rigling Programmieren: Vererbung 1 Variante 2 Inhaltsverzeichnis: 1. Was ist Vererbung...3 2. Anwendung...3 3. Realisierung...3 4. Vorgehensweise zur Erstellung einer Kind-Klasse...3
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Objektorientierung in C++ (2) Beziehungen zwischen Klassen Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 530 Beziehungen zwischen Klassen Assoziation
MehrÜberblick. Überblick. Abstrakte Klassen - rein virtuelle Funktionen Beispiele
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
MehrEinstieg in die Informatik mit Java
1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition
MehrPrinzipien der objektorientierten Programmierung (OOP)
Die Ziele der OOP sind: - bessere Warbarkeit - Wiederverwendbarkeit 1.) Datenkapselung Prinzipien der objektorientierten Programmierung (OOP) Komplexe Datenstrukturen (wie zb ein Stack) werden vom Anwendungsprogramm
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil III - Objektorientierte Programmierung 10. Vererbung und Polymorphie Vererbung und Polymorphie in C++ Seite 2 Klassen können von anderen Klassen
MehrGrundlagen der Informatik
Grundlagen der Informatik Polymorphie, Abstrakte Klassen, Mehrfachvererbung Prof. Dr.-Ing. Thomas Wiedemann Prof. Dr. rer.nat. Ralph Großmann Fachgebiet Informatik / Mathematik Überblick zum Inhalt Klassen-3
MehrOOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel Alina Stürck WS2016/17 11. Oktober 2016 Objektorientierte Programmierung OOP 1 Was ist das? 2 Wie geht das? 3 Warum
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
MehrInformationsverarbeitung 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
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrObjektorientierte Programmierung und Klassen
Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP
MehrGrundlagen Polymorphismus Eigenschaften virtueller Klassen Mehrfachvererbung bei ROOT. Mehrfache Vererbung. Daniel Beneckenstein. 21.
Mehrfache Vererbung Daniel Beneckenstein 21. August 2006 Mehrfache Vererbung Ableitung einer Klasse von beliebig vielen Basisklassen: class A {... }; class B {... }; class C {... }; class D: public A,
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch
MehrProgrammieren 2 C++ Überblick
Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 5. Behälter und Iteratoren 6. Templates
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
MehrRückblick: Benutzerdefinierte Datentypen Definition der Klasse Vektor als Container für 2-dimensionale Vektoren
Rückblick: Benutzerdefinierte Datentypen Definition der Klasse Vektor als Container für 2-dimensionale Vektoren class Vektor public: double k1, k2; // Deklaration der Klasse Vektor // Elementvariablen
MehrBeziehungen 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)
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrVorkurs Informatik: Erste Schritte der Programmierung mit C++
Vorkurs Informatik WS 14/15 Vorkurs Informatik: Erste Schritte der Programmierung mit C++ Tag 3: Objektorientiere Programmierung 8. Oktober 2014 Vorkurs Informatik WS 14/15 > Einführung Agenda 1 Einführung
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0
9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
Mehr3D Programmierpraktikum: Einführung in C++ - Teil 2
3D Programmierpraktikum: Einführung in C++ - Teil 2 Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 4. Mai 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum
MehrÜberblick. 5. Objekt und Klasse, Elementfunktionen
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrEinführung in C# Teil 3. Matthias Nübling
Einführung in C# Teil 3 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrObjektorientiertes Programmieren mit C++ für Fortgeschrittene
BEREICH DATENTECHNIK I CQ 300 00 TH 02 Objektorientiertes Programmieren mit C++ für Fortgeschrittene Kapitel 3 3. Mehrfachvererbung 3.1. Eigenschaften und Problematik 3.2. Virtuelle Basisklassen BEREICH
MehrGrundlagen der Informatik Vererbung von Klassen
Grundlagen der Informatik Vererbung von Klassen Prof. Dr.-Ing. Thomas Wiedemann Prof. Dr.rer.nat. Ralph Großmann Fachgebiet Informatik / Mathematik Überblick zum Inhalt Klassen-2 Klassenhierarchie / Definition
MehrC++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11
C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen
MehrVorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3
Vorausgesetzte Grundkenntnisse Einführung in C# Teil 3 Matthias Nübling Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrEinstieg in die Informatik mit Java
1 / 39 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 39 1 Überblick:
MehrVererbung und Polymorphie
page1 Vererbung und Polymorphie Florian Adamsky, B Sc florianadamsky@iemthmde http://florianadamskyit/ cbd So wareentwicklung im SS 2014 page2 Outline 1 Ein ührung 2 Vererbung Formen der Vererbung 3 Polymorphie
MehrMikrorechentechnik II. Klassen in C++
Mikrorechentechnik II Klassen in C++ class class cfilter { float K; float T; float Ta; public: // Filterverstärkung // Filterzeitkonstante // Tastzeit Zugriffskontrolle: public, protected, private void
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 2)
DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und
MehrC++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ziele Sie wissen, was Vererbung
MehrThema heute: Vererbung und Klassenhierarchien. Abgeleitete Klassen. Vererbung von Daten und Funktionen. Virtuelle Funktionen
1 Thema heute: Vererbung und Klassenhierarchien Abgeleitete Klassen Vererbung von Daten und Funktionen Virtuelle Funktionen 2 Vererbung oft besitzen verschiedene Datentypen einen gemeinsamen Kern Beispiel:
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrInformatik I (D-MAVT)
Informatik I (D-MAVT) Übungsstunde 9 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Nachbesprechung Übung 7 Besprechung/Vertiefung der Vorlesung Vorbesprechung Übung 9 Aufgabe 1:
MehrKapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
MehrC++ - Variablen: Gültigkeit - Sichtbarkeit
C++ - Variablen: Gültigkeit - Sichtbarkeit Reiner Nitsch 8417 r.nitsch@fbi.h-da.de Attribute von Variablen und Funktionen Attribute von Variablen sind Name (name), Typ (type), Wert (value) Attribute von
MehrVererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz
Einführung in C++ Vererbung I Durch Vererbung können aus bereits bestehenden Klassen neue Klassen konstruiert werden. Die neue abgeleitete Klasse erbt dabei die Daten und Methoden der sog. Basisklasse.
MehrObjektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen
Objektorientierte Programmierung mit Grundlagen 27.10.2008 1 Übersicht 27.10.2008 2 1 Übersicht Klassen und Objekte in - Klassen - Objekte - Klassen - Objekte 27.10.2008 3 Übersicht 27.10.2008 4 2 Einführung
MehrManfred Schüttengruber. Objektorientierte Programmierung mit Visual Basic 2005
Manfred Schüttengruber Objektorientierte Programmierung mit Visual Basic 2005 Inhaltsverzeichnis Vorwort 11 i Das.NET-Konzept 15 I.I Kapitelüberblick 15 i.2 Das.NET Framework 15 1.3 IL-Code und Plattformunabhängigkeit
Mehr6. Globalübung (zu Übungsblatt 8)
6. Globalübung (zu Übungsblatt 8) Inhalt: Klassenhierarchien Verdecken von Attributen Überschreiben von Methoden Codeanalyse Analyse von JAVA-Programmen Semestralklausur Klausurtermin: Mittwoch 11.01.2006
MehrObjektorientierung: 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
Mehr4. Objektorientierte Programmierung mit C++
4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung der Sprachfamilie Erweiterungen der Sprache C: Ein- und Ausgabe, Referenzen, Speicherallokation und Freigabe Grundlagen des Typkonzepts
MehrC++ Teil 9. Sven Groß. 17. Juni Sven Groß (IGPM, RWTH Aachen) C++ Teil Juni / 17
C++ Teil 9 Sven Groß 17. Juni 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 9 17. Juni 2016 1 / 17 Themen der letzten Vorlesung Objektorientierung und Klassen Attribute / Datenelemente Methoden / Elementfunktionen
MehrVorlesung 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:
MehrBeispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der
Vererbung Vererbung ist ein Konzept der objektorientierten Programmierung,, die es ermöglicht neue Klassen von bereits vorhandenen Klassen abzuleiten. In einer abgeleiteten Klasse (subclass) muss nur spezifiziert
Mehr2. 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
MehrObjektorientierte Programmierung (OOP)
orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,
MehrAnwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie
Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,
MehrEinstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung
MehrWintersemester 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
MehrTh. 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
Mehr01. Grundprinzipien der Vererbung
01. Grundprinzipien der Vererbung 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
MehrName: Klausur Informatik III WS 2003/04
1 : Methodenimplementierung ca. 42 Punkte Gegeben ist die Klasse Mitarbeiter. Listing 1: (./Code1/Mitarbeiter.h) using namespace std; // globale Variable fuer Ausgabedatei // kann entsprechend
MehrInnere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11
MehrDie abgeleiteten Klassen Kreis und Viereck erben die Elemente des Basisklasse und verfügen über zusätzliche Eigenschaften (Seitenlänge,
Kompaktkurs C++ Vererbung (inheritance) 1 Oft besitzen verschiedene Datentypen einen gemeinsamen Kern: Kreis und Viereck sind geometrische Figuren; sie haben eine Kantenzahl, eine Fläche, einen Umfang
MehrC++ Klassen, Vererbung. Philipp Lucas. Sebastian Hack. Wintersemester 2008/09. saarland.
C++ Klassen, Vererbung Philipp Lucas phlucas@cs.uni-sb.de Sebastian Hack hack@cs.uni-sb.de Wintersemester 2008/09 saarland university computer science 1 Inhalt Klassen in C++ Sichtbarkeit Erzeugen von
MehrGrundlagen der Objektorientierung :
Grundlagen der Objektorientierung : Objektorientierung ermöglicht (unter anderem), daß man Software, die von einem selbst, meist aber von Anderen geschrieben ist, komfortabel nochmal verwenden kann. Diese
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
MehrEinführung in die Informatik 1
Einführung in die Informatik 1 Objektorientierung Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.
MehrC++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung
MehrBegriffe 1 (Wiederholung)
Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.
MehrObjektorientierte Programmierung
C++ Objektorientierte Programmierung Erweiterung von selbstdefinierten Datentypen (struct) zu Klasse. Eine Klasse besteht dann aus - Attributen (Untertypen wie struct) und zusätzlich - aus Methoden (Funktionen
MehrEinstieg in die Informatik mit Java
1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen
Mehr4. Objektorientierte Programmierung mit C++
4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt
MehrJava Vererbung. Inhalt
Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter
MehrProgrammierkurs 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
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung Teil 2 2 Übersicht der heutigen Inhalte Vererbung Abstrakte Klassen Erweitern von Klassen Überladen von Methoden Überschreiben von
MehrProgrammieren II Abstrakte Klassen / Virtuelle Methoden. Programmieren II Abstrakte Klassen / Virtuelle Methoden
Einleitende Bemerkungen Einleitende Bemerkungen Aspekte Aufbau von sinnvollen Klassenhierarchien Verwaltung von Objekten unterschiedlichen Typs Mitarbeiter Besonderheiten der Anwendung jeder Angehörige
MehrVererbung. 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)
MehrJava 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.
MehrMethoden. 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
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrObjektorientiert in C++
Dirk Louis Objektorientiert in C++ Einstieg und professioneller Einsatz intwickier.pres: Vorwort 11 1 Schnellkurs C++ 13 1.1 ANSI-C++ und die Compiler 13 Compiler und Programmerstellung 13 ANSI und die
MehrC++ Notnagel. Ziel, Inhalt. Programmieren in C++
C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt
MehrObjektorientiertes Programmieren
JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrGrundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
Mehr11.3 Virtuelle Methoden
11.3 Virtuelle Methoden Überdeckte Methoden: Betrachten wir noch einmal unsere Klassen Employee und Manager. class Employee void print() const cout
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und
Mehr