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

C++

Methoden

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Zur Datenkapselung dienen Methoden, mit denen Sie den Zugriff auf Eigenschaften schützen können. Erfahren Sie vom Trainer, wie Sie das umsetzen sollten und welche möglichen Schreibweisen es gibt.

Transkript

Interessant wird das Ganze mit den Klassen erst, wenn man auch Methoden definiert, mit dem man arbeiten kann. Wir kommen dann nämlich zum eigentlichen Objektorientierten Programmieren. Objektorientiertes kann man sich so vorstellen: Wir definieren ein Objekt und rund um dieses Objekt gib es dann bestimmte Eigenschaften, bestimmte Methoden mit dem man darauf arbeiten kann und nicht wie früher Prozeduren und Frunktionen, die als Parameter Objekte bekommen und die man fälschlicherweise ja auch für andere Sachen sozusagen verwenden kann. Hier ist die Zuordnung einfach besser und es ist auch leichter solche [unverständlich] zu ergänzen, um weitere Methoden, das ist nämlich eine ganz hübsche Geschichte die man da machen kann, die einem zu einfach klarem programmieren Verhältnisse, eigentlich die Idee von der ganzen Geschichte, dass man halt besser programmiert. So jetzt machen wie mal eine etwas kompliziertere Klassendefinition. Also klar es ist wieder das Schlüsselwort rdkclass. Wir haben hier diesmal im private-Bereich, peivate ist hier das entsprechende Schlüsselwort int i1 string name Privete bedeutet, dass ich von außen, wie wir das vorher gemacht haben, nicht mehr auf die Variablen zugreife kann. Ich kann jetzt nur noch mit eigenen Funktionen und Methoden auf die Klassene Elemente zugreifen, die im privaten Bereich sind, nämlich die, die in der Klasse definiert werden. Die müssen aber wiederum public sein, sonst komme ich ja von außen nicht an die Methoden ran. Ich könnte ja natürlich hier private Methoden definieren mit denen ich irgendwas mache, was ich heute nur innendrin machen darf. Was ich nicht möchte, dass es jemand von außen mit meinem Objekt anstellt, weil es vielleicht als einzelne Methode gar kein Sinn macht normalerweise. Also hier haben wir jetzt mal was sinnvolles, nämlich den Wert zu setzen, jetzt mal als Methode: setzewert int i als Parameter und string name. Da kann ich dann in einem Schwubt den Integer und den Namen definieren. Das besondere ist eben, statt jetzt hier beliebig einzeln auf die Elemente zugreifen zu können, kann ich mit so einer Methode es ein bisschen geordnet machen, Ich könnte hier ja zum Beispiel auch einen Wertebereich abfragen und den Wert nur dann setzten wenn er gültig ist. Sowas kann ich alles machen, das könnte ich mit einer direkten Zuweisung nicht verhindern, hier aber schon, hier kann ich eben kontrolliert arbeiten. Das ist das besondere an diesen Methoden, an dieser Denkweise so zu arbeiten. Es empfiehlt sich also immer setzen und sogenannte Setter und Getter zu programmieren, mit dem man auf Elemente zugreifen kann, damit man immer die Möglichkeit hier innen einzugreifen Hier habe ich jetzt so ein Getter: int get_i1 () return (i1). Eigentlich macht er nicht anderes als nur den Wert zu holen und der macht eigentlich nicht anderes als die Werte zu setzen. Na ja und bei get name haben wir das nochmal getrennt. Hier macht es jetzt wieder Sinn die beiden Werte einzel sich holen zu lassen. Man könnte ja auch eine kombinierte Methode mit Pointern oder mit Referenzen zum Beispiel schreiben. Also hier holen wir es einzeln und dann möchte ich natürlich gerne noch was besonderes damit anstellen, sonst ist irgendwie ziemlich langweilig und sehr viel drumrum Geschriebe um diese zwei Variabneln. Mit addone möchte ich einfach eins drauf addieren. Das addone habe ich jetzt hier nicht innen definiert. Mann muss es also nicht in der Klasse definieren, ganz im Gegenteil man sollte es eigentlich auch immer außerhalb machen. Die Klassendefinition selber kann ich zum Beispiel in einem Header unterbringen und da anderen Modulen auch zur Verfügung stellen. Also hier definieren wir außen: Void, und das ist jetzt eine Besonderheit, mit Doppelpunkt, Doppelpunkt komme ich jetzt ähnlich wie beim namespace an das innere heran und hier kann ich ja mal anklicken, da sieht man auch alles, was jetzt hier innen schon deklariert wurde kann ich jetzt hier verwenden,in dem Fall muss ich es auch noch definieren,nämlich was soll dieses etwas tun, hier habe ich ja nur die Deklaration davon. Ich will nämlich i1 erhöhen, das machen wir hier drin und Rückgabewert gibt es nicht, das muss hier genau den gleichen Kopf haben wie hier. Innerhalb von der Klasse brauche ich dieses Doppelpunkt,Doppelpunkt natürlich nicht,da ist es ja klar, aber hier muss ich es entsprechend machen. Na ja und dann kommen wir zum Hauptproramm dass ist jetzt eigentlich[unverständlich] rdkclass c1. Jetzt kann ich aber mit den Punktwerten darauf zugreifen, ich gebe es hier mal an. Hier bekommen wir alles. Wenn ich da aber drauf zugreife wird es ein Feher geben, das zeige ich ihnen nacher nochmal. C1.setzewert (100,"noch ein Text"), dann addieren wir drei eins drauf und dann gebe ich das ganze wieder aus und das probieren wir aber jetzt erstmal aus und schauen was da passiert. Das sollte jetzt ganz brav sein: 101 ist dann eben der Wert, 1 addiert, noch ein Text ist der Textwert. Na ja wenn ich jetzt hier mal ganz frech versuche .i1=1234 zuzuweisen und übersetzte das mal, danm schauen wir mal an, ob unser Compiler auch entsprechend brav ist. Ist er. Der sagt nämlich: Hier error, Das kann man nicht machen. Könnte ich jetzt ändern wenn ich will. Ohne den restlichen Code ändern zu müssen, könnte ich das i1 hier gemeinerweise nach außen setzen. Also jetzt ist es public und nicht mehr private und starte das ganze mal und schon kann ich es auch wieder zuweisen. Ich nehme das aber hier wieder, ich hätte es gern hier und das wollen wir ja, hier verboten: gerad so machen. Jetzt tue ich es aber nochmal kompilieren, damit unser executable auch gültig ist. Und damit haben Sie jetzt erstmal gesehen, wie man Methoden hier in einer Klasse definieren kann

C++

Machen Sie sich mit den einfachen Grundlagen zu C++ vertraut und lernen Sie anhand zahlreicher Übungs- und Codebeispiele die Klassenkonzepte, Prozeduren und Funktionen kennen.

9 Std. 3 min (143 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Video-Training auf DVD mit Bonusmagazin

+ Tutorial to go: Mit Videos für iPod, iPhone & Co.

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!