C++ Vererbung und Polymorphie

 Documents

 91 views
of 17
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Description
C++ Vererbung und Polymorphie Vortrag von Anke Schulz 27.7.2000 Vererbung  Die Vererbung ermöglicht es neue Klassen auf der Basis von schon bestehenden…
Share
Transcript
C++ Vererbung und Polymorphie Vortrag von Anke Schulz 27.7.2000 Vererbung  Die Vererbung ermöglicht es neue Klassen auf der Basis von schon bestehenden Klassen zu definieren.  Wie sinnvoll und praktisch das ist haben wir schon bei Java gesehen.  Im Unterschied zu Java ist es bei C++ möglich eine neue klasse von mehreren Basisklassen abzuleiten, die dann die Eigenschaften aller dieser Basisklasssen besitzt. Und natürlich all die Eigenschaften, die man neu dazu definiert. Syntax  class klassenname : [virtual][public, protectet, private] Basisklassenname1, [virtual][public, protectet, private] Basisklassenname2 { Liste der klassenelemente };  Die Zugriffsspezifizierer public, protectet und private regeln bei der Vererbung nicht den Zugriff aus den Methoden der abgeleiteten Klassen auf die geerbten Elemente, dies wird ja schon in der Deklaration in der Basisklasse geregelt und gilt hier also immernoch, sondern welche Zugriffsrechte die abgeleitete Klasse für die geerbten Elemente nach außen weiter gibt. Z. B. wenn über ein Objekt der abgeleiteten Klasse auf diese Elemente zugegriffen wird.  Virtual ist nur bei Mehrfachvererbung interessant. Zugriffsbeschränkung  Ausschlaggebend sind also die Zugriffsrechte, die in der Basisklasse vorgesehen waren, diese können dann in der abgeleiteten Klasse durch die Zugriffsspezifizierer dort nur verschärft werden.  Zugriffsspez. der Vererbung Basisklasse abgeleitete Klasse public public public protectet protectet private private protectet public protectet protectet protectet private private private private private private private Beispiel  class Basis { int w_priv; //private public: int w_pub; };  class Abgeleitet :private Basis { public: void fkt() { w_priv = 2; // kein Zugriff, private w_pub = 2; // ok } };  int main() { class Abgeleitet obj; cout<
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks