Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

C++ Grundkurs

Zugriffsrechte für Klassenmitglieder

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
C++ stellt mehrere verschiedene Zugriffsrechte zur Verfügung. Die Rechte von Klassenmitgliedern regeln, in welchen Bereichen der Anwendung diese verwendet werden können.
03:40

Transkript

In dieser Lektion will ich auf Zugriffsrechte für Klassenmitglieder genauer eingehen. Die Zugriffsrechte eines Mitglieds bestimmen, wo im Programm Sie ein Klassenmitglied benutzen können. Klassenmitglieder können Funktionen oder Variablen sein. In diesem konkreten Fall heißen sie Methoden oder Attribute. C++ kennt drei verschiedene Zugriffsrechte auf Klassenmitglieder. *public*, *protected* und *private*. *public* bedeutet, Sie können auf Klassenmitglieder uneingeschränkt zugreifen. *protected* bedeutet, Sie können nur aus der Klasse selber, indem Sie die Klassenmitglieder deklariert haben zugreifen oder aus abgeleiteten Klassen. *private* bedeutet, Sie können nur von einer Klasse selbst, in der Sie das Klassenmitglied deklariert haben, zugreifen. Nun kommen noch ein paar Regeln. Erst einmal für Klassen. In Klassen sind per *default* alle Mitglieder *private* ganz im Gegensatz zu Strukturen oder Unions. Dort sind per *default* alle Mitglieder *public*. Das Zugriffsrecht eines Klassenmitglieds wird durch das zuletzt verwendete Zugriffsrecht bestimmt und Sie können beliebig oft Zugriffsrechte setzen. Eine Bemerkung zum Gebrauch von *public*, *protected* und *private*. *public* und *protected* Mitglieder einer Klasse stellen das Interface der Klasse dar, *private* hingegen die Implementierung. Das ist auch der Grund, wieso Sie diese Zugriffs-Specifier in dieser Reihenfolge verwenden sollen, erst *public*, dann *protected*, zuletzt *private*. Weil das die typische Sicht auf die Internas Ihrer Klasse darstellt. Zuerst interessieren Sie sich fürs Interface und dann für die Implementierung. Nun will ich das Ganze Ihnen noch in der Anwendung zeigen. Ich habe eine Klasse *Account*. *Account* soll folgende Funktionalität besitzen. Ich will einen *Account* anlegen mit einem initialen Betrag. Ich will neues Geld auf den *Account* überweisen, Geld abheben. Ich will genauso abfragen können, wie viel Geld ist aktuell auf meinem Konto drauf. Ich will natürlich abfragen, wie viele Transaktionen habe ich getätigt. Das sind auch die Internas der Klasse. Wie viel Geld ist drauf, Wie viele Transaktionen haben bis jetzt stattgefunden. Nun gehe ich auf die Details ein. Hier habe ich einen Konstruktor, der den initialen Betrag annimmt. Meine private Variable *balance* damit initialisiert und Transaktionen, die setze ich im Konstruktor, im sogenannten Initialisierer auf 1, da das Konto anlegen bereits eine Transaktion ist. Dann die zwei öffentlichen Methoden *public*, öffentlichen Methoden *deposit* und *withdraw*. Hier überweise ich neues Geld auf mein Konto und hier hebe ich Geld von meinem Konto ab. Da die zwei Funktionen sehr ähnlich sind, bilde ich es auf die Implementierungsfunkton *calcBalance* ab, indem ich einfach sage, wenn ich was auf das Konto überweise, wird plus *Amount* dazu addiert. Wenn ich etwas abziehe wird minus *Amount* hinzuaddiert. Damit habe ich meine neue Balance. Das ist die private Methode *calcBalance* und die sehen Sie hier. Erstens habe ich eine neue Transaktion und zweitens addiere oder subtrahiere ich einen *Amount* hinzu, je nachdem ob es eine Überweisung oder Abhebung ist. Das zeige ich Ihnen jetzt alles im Detail. Ich habe hier einen *Account*. Ich überweise initial 100 Euro. Ich überweise noch einmal 50 Euro und 25 Euro und hebe 30 ab und nach Adam Riese kommt hier 145.15 raus. Das kann ich hier abfragen. Wenn ich die Anzahl der Transaktionen abfrage, kommt hier natürlich 4 raus. 1, 2, 3, 4. In dieser Lektion habe ich die Zugriffsrechte für die Mitglieder einer Klasse vorgestellt. Die Zugriffsrechte sind *public*, *protected* und *private*. *public* bedeutet, Sie können von überall auf die Internas einer Klasse zugreifen. *private* bedeutet, Sie können nur von der Klasse selbst auf ihre Internas zugreifen. *protected* erlaubt Ihnen von abgeleiteten Klassen auf die Internas einer Klasse zuzugreifen.

C++ Grundkurs

Steigen Sie in die mächtige Programmiersprache C++ ein und lernen Sie dabei alle wichtigen Funktionen mit Anwendungsbeispielen kennen.

8 Std. 14 min (147 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!