• Keine Ergebnisse gefunden

OOP Vererbung

N/A
N/A
Protected

Academic year: 2022

Aktie "OOP Vererbung"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

C++ http://www.kohnlehome.de/c/OOP.pdf

OOP

Vererbung

abgeleitete Klassen erben Attribute und Methoden der Basisklasse class CTier{

public:

void sagwas(){ cout << "Ich bin ein Tier." << endl; } };

class CHund:public CTier{

};

int main(){

CTier tier;

tier.sagwas(); // Ich bin ein Tier.

CHund hund;

hund.sagwas(); // Ich bin ein Tier.

return 0;

}

Polymorphie

Geerbte Methoden können überschrieben werden. Beim Aufruf einer Methode ist der Typ der Instanz entscheidend.

class CTier{

public:

void sagwas(){ cout << "Ich bin ein Tier." << endl; } };

class CHund:public CTier{

public:

void sagwas(){ cout << "Ich bin ein Hund." << endl; } };

int main(){

CTier tier;

tier.sagwas(); // Ich bin ein Tier.

CHund hund;

hund.sagwas(); // Ich bin ein Hund.

return 0;

}

Zeiger auf Instanzen und virtuelle Funktionen

Beim Aufruf einer nicht virtuellen Methode ist der Typ des Zeigers entscheidend.

class CTier{

public:

void sagwas(){

cout << "Ich bin ein Tier." << endl;

} };

class CHund:public CTier{

public:

void sagwas(){

cout << "Ich bin ein Hund." << endl;

} };

int main(){

CTier* pTier1 = new CTier;

pTier1->sagwas(); // Ich bin ein Tier.

CHund* pHund = new CHund;

pHund->sagwas(); // Ich bin ein Hund.

CTier* pTier2 = new CHund;

pTier2->sagwas(); // Ich bin ein Tier.

return 0;

}

Beim Aufruf einer virtuellen Methode ist der Typ der Instanz entscheidend.

class CTier{

public:

virtual void sagwas(){

cout << "Ich bin ein Tier." << endl;

} };

class CHund:public CTier{

public:

void sagwas(){

cout << "Ich bin ein Hund" << endl;

} };

int main(){

CTier* pTier1 = new CTier;

pTier1->sagwas(); // Ich bin ein Tier.

CHund* pHund = new CHund;

pHund->sagwas(); // Ich bin ein Hund.

CTier* pTier2 = new CHund;

pTier2->sagwas(); // Ich bin ein Hund.

return 0;

}

Franz Kohnle Seite 1 von 1 03.07.2006

Referenzen

ÄHNLICHE DOKUMENTE

• Vererbung ist im Bereich der OO-Techniken eine Beziehung zwischen Klassen, bei denen eine abgeleitete Klasse den Vertrag mitsamt allen Signaturen von einer Basisklasse übernimmt. •

(z.B. Quadrat) Lage, Position, Größe, Strichstärke, Strichfarbe, Füllfarbe, Füllmuster,

Während ein Objekt etwas Konkretes ist, das Speicherplatz belegt und zu jedem Zeitpunkt einen bestimmten Zustand hat, ist eine Klasse etwas Abstraktes: Sie ist ein Muster, das

• Weil Objekt-Methoden nur für von null verschiedene Objekte aufgerufen werden können, kann die leere Liste nicht mittels. toString() als String

Schreiben Sie ein Java-Programm, das eine beliebige Anzahl von double –Werten einliest und so in ein Feld abspeichert, dass gleiche Werte hintereinander angeordnet sind und

 Eine Subklasse erbt automatisch alle Methoden der Oberklasse.  Geerbte Methoden sind automatisch in der

I private , protected , public sind auch Qualifier für Vererbung, z.B. • class Abgeleitet : public

Deshalb gibt es einen Zugriffsbereich für Vererbung, der alle Subklassen einer Klasse umfasst. Programmelemente, die als geschützt deklariert