4. Objektorientierte Programmierung mit C++
|
|
- Elsa Schreiber
- vor 6 Jahren
- Abrufe
Transkript
1 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt und Klasse, Elementfunktionen (Methoden) Konstruktoren, Copy-Konstruktor, Destruktor und Wertzuweisung Operatoren, Überladen von Operatoren Elementobjekte und Elementobjektkonstruktoren Klassenhierarchien und Vererbung Polymorphie Abstrakte Klassen Templates R. Grossmann, P. Sobe 1
2 Generalisierung und Spezialisierung (1) Verschiedene Klassen sind oft in einigen grundlegenden Eigenschaften/Funktionen gleich. Beispielsweise können verschiedene elektr. Bauelemente als Zweipole beschrieben werden. Generalisierung: Ohmscher Widerstand, Diode, Spule usw. sind Zweipole Spezialisierung: Vom Zweipol ausgehend erfolgt eine Spezialisierung als Ohmscher Widerstand durch ein lineares Strom/Spannungs-Verhältnis. als Diode durch eine Sperrfunktion und die Diodenkennlinie als Spule durch einen Induktiven Widerstand und ein phasenabhängiges Strom/Spannungsverhältnis ZP Generalisierung R.Grossmann, P. Sobe 2
3 Generalisierung und Spezialisierung (2) Gemeinsame Eigenschaften und Funktionen können in einer Basisklasse definiert werden. Eine Spezialisierung erfolgt durch Erzeugung einer neuen abgeleiteten Klasse, die die Eigenschaften und Funktion der Basisklasse erbt. Die abgeleitete Klasse kann Neues hinzufügen zusätzliche Elementobjekte und zusätzliche Methoden Die abgeleitete Klasse kann Methoden und Operationen verändern (überschreiben) Objekte der Basisklasse und abgeleiteter Klassen sind zuweisungskompatibel. R.Grossmann, P. Sobe 3
4 Begriff Klassenhierarchie Definition: Eine Menge von Klassen, deren Elemente durch die Relation Spezialisierung bzw. Generalisierung miteinander in Beziehung gesetzt sind, bezeichnet man als Klassenhierarchie, wenn jede Klasse höchstens eine Basisklasse besitzt. Basisklasse heißt eine Klasse von der durch Spezialisierung eine abgeleitete Klasse gebildet wurde. R.Grossmann, P. Sobe 4
5 Abgeleitete Klassen in C++ Programmen Abgeleitete Klassen müssen in C++ Programmen durch Angabe ihrer Basisklasse gekennzeichnet werden. Beispiel: class A {... //Basis-Klasse class B : public A{... //abgeleitete Klasse und gleich- // zeitig Basis-Klasse für C class C: public B{... //abgeleitete Klasse class D: public A{... //abgeleitete Klasse R.Grossmann, P. Sobe 5
6 Vererbbares und nichtvererbbares Inventar einer Klasse Alle Datenelemente einer Klasse, sowie alle Methoden mit Ausnahme der unten angegebenen werden an die abgeleitete Klasse vererbt. Nicht vererbt werden prinzipiell: - alle Konstruktoren - der Copy-Konstruktor - der Destruktor - der Zuweisungsoperator = R.Grossmann, P. Sobe 6
7 Zugriffsspezifizierer in Klassenhierarchien Alle privaten Datenelemente einer Klasse können nur von den Methoden der Klasse benutzt werden. Sollen diese Datenelemente auch von Methoden der abgeleiteten Klassen erreichbar sein, muss anstelle von private der Spezifizierer protected benutzt werden. Veranschaulichung: class myclass : public yourclass { public: myclass( ); ~myclass( ); // öffentlich für alle anderen Objekte, // auch für abgeleitete Klassen protected: double calculate( ); // nicht öffentlich, kann aber von Klasse // selbst und von abgeleiteter Klasse aufgerufen werden private: void internalaction( ); // nur von Klasse selbst aufrufbar, kein Zugriff durch // abgeleitete Klassen R.Grossmann, P. Sobe 7
8 Konstruktoren abgeleiteter Klassen Konstruktoren werden nicht vererbt. Konstruktoren abgeleiteter Klassen müssen den Konstruktor der Basisklasse aufrufen, der für die Instanziierung der geerbten Anteile sorgt. Beispiel: class A //Basis-Klasse { private: int i; public: A(int k){i=k;} //Konstruktor class B : public A //abgeleitete Klasse { private: char c; public: B(char s,int j): A(j) {c=s;} // : A(j) ruft Basisklassen-Konstruktor auf R.Grossmann, P. Sobe 8
9 Elementobjektkonstruktoren in Konstruktoren abgeleiteter Klassen Enthalten abgeleitete Klassen Elementobjekte, so müssen neben dem Konstruktor der Basisklasse auch der Elementobjekt- Konstruktor aufgerufen werden. Beispiel: class A { private: int i; public: A(int k){i=k;} //Basis-Klasse //Konstruktor class B : public A //abgeleitete Klasse { private: char c; A a; //Elementobjekt public: B(char s,int j,int m) //Konstruktor abgl. Klasse : a(m),a(j) {c=s;} // A(j) Basisklassen-Konstruktor // a(m) ist Aufruf Elementobjekt-Konstr. R.Grossmann, P. Sobe 9
10 Elementobjektkonstruktoren in Konstruktoren abgeleiteter Klassen Beachten Sie, dass unabhängig von der Notation die Rufreihenfolge festgelegt ist: 1. Ruf des Konstruktors der Basisklasse 2. Ruf des Elementobjekt-Konstruktors 3. Ruf des Konstruktors der abgeleiteten Klasse Beispiel: class A { //Basis-Klasse class B : public A //abgeleitete Klasse { private: int a, c; public: B(..., int m, int s, ) : a(m),a(j) {c=s;} // zuerst wird A(), dann a() und zuletzt B() ausgeführt R.Grossmann, P.Sobe 10
11 Grafische Veranschaulichung von Klassen (1) Klassen können untereinander verschiedene Beziehungen eingehen: Klasse B als Elementobjekt von Klasse A allgemein kann eine Klasse viele verschiedene Elementobjekte besitzen, die möglicherweise auch Instanzen verschiedener Klassen sind. Elementobjekte können ebenfalls aus verschiedenen Elementobjekten bestehen. Es ergibt sich eine Hierarchie von Elementen, die die Beziehung enthalten sein in wiederspiegeln. Klasse B als abgeleitete Klasse von A eine Klasse wird typischerweise von einer Basisklasse abgeleitet. Die Basisklasse kann wiederum eine abgeleitete Klasse sein. Es ergibt sich eine Schichtung im Sinne von erbt von. Mehrfachvererbung ist aber auch möglich, d.h. eine Klasse kann von mehreren Basisklassen erben. Klassen können sich über Referenzen assoziieren, d.h. Beziehungen aufbauen, die nicht durch die Elementobjekt-Beziehung abgedeckt ist. Diese Assoziation ist beim Entwurf zu berücksichtigen. Die grafische Darstellung der Hierarchien und Schichtung erfolgt durch Klassendiagramme, die als Teil der UML (Unified Modeling Language) vereinheitlicht wurden. R. Grossmann, P. Sobe 11
12 Grafische Veranschaulichung von Klassen (2) Objektorientierter Entwurf als Schritt, der vor der eigentlichen Programmierung erfolgt Einzelne Klasse in UML-Notation: Name der Klasse Elementobjekte Methoden Beispiel: Person name: String vorname: String alter: unsigned int anmelden() abmelden() R.Grossmann, P.Sobe 12
13 Grafische Veranschaulichung von Klassen (3) Vererbung: Zweipol BerechneU() spezialisiert OhmscherWiderst Diode BerechneU() BerechneU() R.Grossmann, P.Sobe 13
14 Grafische Veranschaulichung von Klassen (4) Komposition (Ganzes enthält Teile) ElektrSchaltung 1 1..* Zweipol Simuliere() BerechneU() Die Komposition durch Pfeil mit ausgefüllter Raute, wobei Teile nicht ohne das Ganze existieren können. In C++ wird die Komposition z.b. durch Elementobjekte realisiert. Am Pfeil sind Multiplizitäten vermerkt, die erklären, wie viele Objekte jeweils die Beziehung eingehen. Die Aggregation ist ähnlich, wobei Teile auch ohne das Ganze existieren dürfen. Fahrgemeinschaft * Fahrgast Reise() Reise () R.Grossmann, P.Sobe 14
15 Grafische Veranschaulichung von Klassen (5) UML Assoziation eine inhaltliche Beziehung Konto 0.. * 1..* Kunde BucheAb() Kaufe() Klassen können Verweise (Zeiger, Referenzen) auf Objekte verwalten, um inhaltliche Beziehungen zu verwalten. R.Grossmann, P.Sobe 15
16 Objekte als Parameter (1) C++ erlaubt, Objekte als Parameter von Methoden zu übergeben. Beispiel: Eine Zeichenfläche (canvas), der verschiedene geometrische Objekte übergeben werden. Die Zeichenfläche kann diese Objekte beispielsweise unter Berücksichtigung von 3D- Überdeckungen zeichnen. class canvas { public: canvas() { } int register geom_obj(geomobj &o) { } void draw_all() { } class geomobj { public: geomob( ) { } int num_vertexes(); int get_vertex( int *x, int *y, int *y); int draw_vertex { } R.Grossmann, P.Sobe 16
17 Objekte als Parameter (2) Bei Übergabe von Objekten an Methoden sind die Mechanismen der Parameterübergabe zu beachten. Bei der Übergabe als Wert würde der Compiler eine lokale Kopie des übergebenen Wertes erzeugen. Dazu wird der Kopierkonstruktor aufgerufen. Dies ist oft nicht wünschenswert (Ressourcenverschwendung, Nebeneffekte). Das bei der Wertübergabe erzeugte Objekt würde wie andere lokale Objekte am Ende der Funktion gelöscht und der zugehörige Destruktor aufgerufen. Das führt i.d.r. zu unerwünschten Wirkungen. Im allgemeinen ist es daher sinnvoll, Objekte als (konstante) Referenz zu übergeben. R.Grossmann, P.Sobe 17
18 Objekte als Parameter (3) Übergabe von Objekten als Referenz an Methoden: int register geom_obj(geomobj &o) { for (int i=0; i<o.num_vertexes();i++) } o.get_vertex( &geobj[a].v[i].x, &geobj[a].v[i].y, &geobj[a].v[i].z ); besser noch als konstante Referenz: int register geom_obj(const geomobj &o) { R.Grossmann, P.Sobe 18
19 Friend - Klassen Eine Klasse kann eine andere als friend erklären. Damit erlaubt sie der anderen Klasse den Zugriff auf private Elemente und Methoden. class A { private: double wert; public: A(double x) {wert=x;} // Konstruktor friend class B; class B { double calculate( A a) { return a.wert*2.0; } Der friend-mechanismus durchbricht die Datenkapselung und sollte deshalb nur sparsam verwendet werden. R.Grossmann, P.Sobe 19
20 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt und Klasse, Elementfunktionen (Methoden) Konstruktoren, Copy-Konstruktor, Destruktor und Wertzuweisung Operatoren, Überladen von Operatoren Elementobjekte und Elementobjektkonstruktoren Klassenhierarchien und Vererbung Polymorphie Abstrakte Klassen Templates R. Grossmann / P. Sobe 20
21 Polymorphie in Klassenhierarchien Unter Polymorphie versteht man das dynamische Binden von Elementfunktionen. Damit wird erst zur Laufzeit festgestellt, welche Elementfunktion zu einer Klasse gehörig an einer bestimmten Stelle aufzurufen ist. Dies wird durch den Klassenkontext (Objekt) ermittelt. Der Normalfall ist die statische Bindung einer Elementfunktion zur Zeit der Übersetzung. D.h. der Compiler legt fest, welche Elementfunktion aufgerufen wird. Dadurch lässt sich bei Vererbung die Nutzung einer anderen, der Klassenzugehörigkeit des Objektes entsprechenden Elementfunktion nicht mehr erreichen. Die Auswahl der Bindungsverfahren einer Methode muss dem Compiler durch die Direktive virtual angezeigt werden. R.Grossmann, P. Sobe 21
22 Statisches Binden Beispiel: class A //Basis-Klasse { public: void Druck() {cout<< Klasse A ;} void Nachricht() {cout<< Nachricht von ; Druck() ;} class B : public A //abgeleitete Klasse { public: void Druck(){cout<< Klasse B ;} void main() { A a; B b; a.nachricht(); b.nachricht(); } Der Compiler bindet hier statisch den Aufruf der Methode Druck() ausgehend von Nachricht(). Die Druck-Methode ist bei der abgeleiteten Klasse überladen worden. Frage: Ruft b.nachricht(); damit automatisch die die überladene Druck-Methode auf? R.Grossmann, P. Sobe 22
23 Dynamisches Binden (1) Es wurde ausgegeben: Nachricht von Klasse A Nachricht von Klasse A Das ist korrekt, aber entspricht nicht der Intuition. Durch Einfügen der Compilerdirektive virtual wird jetzt dynamisches Binden erzwungen: class A //Basis-Klasse { public: virtual void Druck(){cout<< Klasse A ;} void Nachricht(){cout<< Nachricht von ; Druck() ;} class B : public A //abgeleitete Klasse { public: void Druck(){cout<< Klasse B ;} void main() {A a; B b; a.nachricht(); b.nachricht(); } Jetzt wird ausgegeben: Nachricht von Klasse A Nachricht von Klasse B R.Grossmann, P. Sobe 23
24 Dynamisches Binden (2) Der Compiler erzeugt ein dynamisches Binden über die sogenannte Virtual Address Table. Die Einsprungadresse der Methode wird dann zur Laufzeit ermittelt. Durch die Anwendung a.nachricht(); wird die Elementfunktion Druck() der Klasse A benutzt während bei Anwendung auf eine Objekt b.nachricht(); der Klasse B die Elementfunktion Druck() der Klasse B benutzt wird. R.Grossmann, P. Sobe 24
25 Dynamisches Binden und Polymorphie Durch virtuelle Funktionen wird ein s.g. polymorphes Laufzeitverhalten von Objekten erreicht. Polymorphie Vielgestaltigkeit Bei C++ bedeutet das: Objekte können über Zeiger vom Zeigertyp ihrer Basisklasse angesprochen werden, um z.b. deren Methoden aufzurufen. Es werden automatisch die Methoden der richtigen Klasse (jener, der das Objekt angehört) aufgerufen. Der Programmierer braucht bei der Programmerstellung nicht wissen, welche Klassenzugehörigkeit ein per Zeiger angesprochenes Objekt besitzt (vorausgesetzt das Objekt liegt innerhalb der Klassenhierarchie der Basisklasse). P. Sobe 25
26 Beispiel für Polymorphie (1) class B { public: B(int n): b(n) {} virtual void f() {cout << b;} private: int b; class C: public B { public: C(int n1, int n2): B(n1), c(n2) {} virtual void f() {B::f(); cout << c; } private: int c; class D: public C { public: D(int n1, int n2, int n3): C(n1,n2), d(n3) {} virtual void f() {C::f(); cout << d;} private: int d; int main { B* b_array[3]; B b(6); C c(9,12); D d (16,18,20); b_array[0] = &b; b_array[1] = &c; b_array[2] = &d; for(int i=0;i<3;i++) b_array[i]->f(); } R.Grossmann, P. Sobe 26
27 Beispiel für Polymorphie (2) b_array Ausgabe des Programms: B b(6) C c(9,12) D d(16,18,20) Es reicht aus, den Typ der Basisklasse zu kennen und einheitliche Methodennamen für Basis- und abgleitete Klassen zu verwenden. Zur Laufzeit werden die Methoden der entsprechenden Objekte (Klassen) richtig ausgewählt, ohne dass sich der Programmierer darum kümmern muss. R.Grossmann, P. Sobe 27
28 Regeln für das Überschreiben von Methoden und Operatoren Nur virtuelle Methoden können sinnvoll überschrieben werden Sobald eine Methode einmal als virtuell deklariert wurde, bleibt sie für alle abgeleiteten Klassen virtuell Die Methodenköpfe (Methodenname, Rückgabewert und Parameterliste) müssen für alle sich ersetzende Methoden exakt übereinstimmen. Beispiel für gültiges und ungültiges Überschreiben: class A { public: virtual void f1(int x); virtual int f2(int x, int y); virtual int f3(const A& a); virtual A& f4(int x); class B: public A { public: virtual void f1(long x); // nein int f2(int x, int y); // ja int f3(a& a); // nein virtual B& f4(int x); // ja, nach // neuestem Standard R.Grossmann, P. Sobe 28
29 Heterogene Datenstruktur mittel Polymorphie class Zahl { public: virtual void Print () const { exit(99); // wird noch ueberschrieben } class Integer : public Zahl { int x; public: Integer (int i) { x = i;} virtual void Print() const { cout << x; } class Float : public Zahl { float x; public: Float (float i) { x = i;} virtual void Print() const { cout << x; } R.Grossmann, P. Sobe class Complex: public Zahl { double re,im; public: Complex (double r, double i) { } virtual void Print() const { cout << ( << re <<, << im << ) ; } // eine Datenstruktur mit mehreren // Zahlen, deren Typ gemischt ist. // Reihenfolge der Typen variabel int main() { Zahl *vec[10]; vec[0] = new Integer(4711); vec[1] = new Complex(12.2, 14.44); vec[2] = new Float(42.11); for (int i=0;i<3;i++) vec[i]->print(); 29
Ü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
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
Mehr8. Exkurs in die objektorientierte Programmierung: C++
8. Exkurs in die objektorientierte Programmierung: C++ Inhalt: 8.1 Objektorientierung: Prinzip und Ziele 8.2 C++ - Erweiterungen 8.3 C++ - Klassen, Objekte und Methoden 8.4 C++ - Vererbung und Polymorphie
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
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
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
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
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
MehrÜberblick. 6. Konstruktor und Destruktor - obligatorische Elementfunktionen einer Klasse
Ü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
Mehr8. Objektorientierung und C++
8. Objektorientierung und C++ Inhalt: 8.1 Objektorientierung 8.2 Abstrakte Datentypen 8.3 Ziele der Objektorientierung 8.3 C++ - Erweiterungen 8.4 C++ - Klassen, Objekte und Methoden 8.5 C++ - Vererbung
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
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
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
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
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
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
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
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.
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 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.
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
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
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
MehrÜberblick. 7. Überladen von Operatoren
Ü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
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
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:
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:
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
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
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
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
MehrVon 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
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
Mehr11 Vererbung und Klassenhierarchie
11 Vererbung und Klassenhierarchie Bestandteile objektorientierter Programmierung: Bestehende Klassen können durch Spezialisierung und Erweiterung weiterentwickelt werden, ohne den Programmcode der alten
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 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,
MehrC++ - 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
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
MehrObjektorientierte Programmierung mit C++ SS 2007
Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string
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
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
MehrExceptions und Vererbung
Exceptions und Vererbung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter 2. Exceptions Eigene Exceptions Handling
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
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
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
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. 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
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
MehrPolymorphismus 179. Function.h. #include <string>
Polymorphismus 179 #include Function.h class Function { public: virtual ~Function() {}; virtual std::string get_name() const = 0; virtual double execute(double x) const = 0; }; // class Function
MehrEinführung in das Objektorientierte Programmieren mit C++
BEREICH DATENTECHNIK I CP 700 00 TH 03 Einführung in das Objektorientierte Programmieren mit C++ Kapitel 7 7. Laufzeit-Polymorphie 7.1. Frühes und spätes Binden 7.2. Virtuelle Funktionen FG TECHNISCHE
Mehr3. Exkurs in weitere Arten der Programmierung
3. Exkurs in weitere Arten der Programmierung Inhalt: Objektorientierte Programmierung in C++ Logische Programmierung in Prolog Peter Sobe Objektorientierte Programmierung in C++ C++ ist eine objektorientierte
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
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
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
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
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
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
MehrProgrammiertechnik 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
MehrProf. 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
MehrInhaltsverzeichnis. Vorwort
Inhaltsverzeichnis Vorwort XI 1 C/C++-Grundlagen 1 1.1 Einführung................................ 1 1.1.1 Entwicklungsgeschichte: Von K&R-C nach C++........ 1 1.1.2 Beispielprogramme.......................
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
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
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,
MehrJava, 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
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
MehrFragen zur OOP in Java
- 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...
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
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
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 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
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
MehrVererbung. 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 &
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
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
MehrKapitel 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
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
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
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
MehrObjektorientiertes Programmieren in C++
Nicolai Josuttis Objektorientiertes Programmieren in C++ Von der Klasse zur Klassenbibliothek D-64289 Darmstadt ADDISON-WESLEY PUBLISHING COMPANY Bonn Paris Reading, Massachusetts Menlo Park, California
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
MehrVerwendung von Klassen in C++
Verwendung von Klassen in C++ Heute: Benutzerdefinierte Datentypen (Konkrete Klassen) Vektoren Komplexe Zahlen Adressdatei Morgen: Objektorientierte Programmierung (Abstrakte Klassen) Vererbung Polymorphie
MehrAlgorithmen 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
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
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
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
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:
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
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
MehrEinführung in die Programmierung für NF. Vererbung
Einführung in die Programmierung für NF Vererbung Ziele Vererbungsprinzip der objektorien=erten Programmierung verstehen und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden
MehrKapitel 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
Mehr8. 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:
MehrMethoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
Mehr1. 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:
MehrProgrammierkurs C/C++
Blockkurs: "Einführung in C/C++" Programmierkurs C/C++ Freitag Sandro Andreotti andreott@inf.fu-berlin.de WS 2008/09 1 Blockkurs: "Einführung in C/C++" 2 Vererbung Klassen erben die Member von Basisklassen:
MehrProf. W. Henrich Seite 1
Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse
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)
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
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
Mehr