‫Willkommen zurück.
‫In diesem Video möchte ich Ihnen Immobilien zeigen und Ihnen beibringen, wie Immobilien funktionieren und weil ein Video zu lang wäre
‫und ich in der Vergangenheit ein Video über Immobilien erstellt habe und es etwas zu verwirrend schien, wie es
‫schien.
‫Ich beschloss, es aufzuschlüsseln und neu aufzunehmen, weil es einfach nicht gut genug war, wie es scheint.
‫Wenn Sie also ein anderes Video finden, das total verwirrend ist und Ihnen überhaupt nicht weiterhilft, dann lassen Sie es
‫mich bitte wissen, denn ich möchte, dass dieser Kurs der beste ist, den es gibt.
‫Gut.
‫Was wir also tun müssen, ist zunächst eine neue Klasse zu erstellen.
‫Lassen Sie uns also zum Projekt gehen und eine neue Klasse hinzufügen, denn ich möchte Ihnen die Grundlagen von Eigenschaften
‫beibringen, da sie ein wichtiger Aspekt oder ein wichtiges Konzept sind, das wir häufig verwenden werden.
‫Deshalb ist es wirklich wichtig, dass Sie die ganze Breite davon verstehen.
‫OK, wir beginnen also damit, eine neue Klasse zu erstellen, und ich werde diese Klassenbox nennen.
‫Gut.
‫Seien Sie also einfach eine sehr einfache Klasse.
‫Diese Box-Klasse wird also nur eine Klasse sein, die eine bestimmte Anzahl von Variablen hat.
‫Gut.
‫Ich möchte zum Beispiel nur das Volumen der Kiste anhand ihrer Länge, ihrer Höhe und ihrer Breite
‫berechnen.
‫In Ordnung, also erstellen wir einfach diese Variablen und ich werde sie vorerst öffentlich machen.
‫Gut.
‫Ich werde dies eine öffentliche Länge und dann eine andere machen.
‫Und dieses ist die Höhe und dann brauchen wir die Breite.
‫Und schließlich möchte ich auch die Lautstärke haben, damit die Lautstärke das Endergebnis dieser Box ist.
‫Gut.
‫Jetzt habe ich eine Menge Variablen.
‫Diese Variablen sind keine einfachen Variablen.
‫Sie sind in der Tat Member-Variablen, das heißt, sie sind die Variablen auf der Ebene der Klasse
‫in diesem Fall der Klassenbox.
‫Sie wirken sich also direkt auf das gesamte Erscheinungsbild der Box bzw. den gesamten Aufbau einer Box aus.
‫Gut.
‫Und wir werden sehen, wie wir Member-Variablen auf eine andere Weise oder sogar eine andere Struktur verwenden können, was noch
‫sicherer ist, denn das Problem dabei ist, dass sie öffentlich sind, also nicht sicher sind.
‫Wir werden sehen, wie wir das beheben können.
‫Lassen Sie uns also zunächst eine neue Methode erstellen.
‫Und ich nenne diese eine Anzeige Info, weil die Idee dahinter ist, dass sie nur die
‫Länge, die mit der Höhe anzeigt und dann das Volumen berechnet und uns sagt, wie groß das Volumen ist.
‫Gut.
‫Ich werde nur eine kurze rechte Zeile schreiben.
‫Also gebe ich ein Doppeltippen ein, was diese Konsolen-Rechtszeilen-Anweisung hier für mich erstellt.
‫Und hier werde ich nur sagen, dass Länge der erste Eintrag und Höhe sein wird.
‫Es wird der zweite Eintrag sein.
‫Also werde ich es so verwenden.
‫Und mit ist der dritte Eintrag.
‫Also die Lautstärke ist und dann habe ich den vierten Eintrag.
‫Gut.
‫Das ist also meine ganze Aussage über die Fahrlinie.
‫Und dann sind die Variablen, die ich verwenden möchte, die Länge und Höhe.
‫Mit.
‫Und Volumen jetzt Volumen ist etwas, das ich basierend auf Länge, Höhe und Breite berechnen muss.
‫Also mache ich das einfach.
‫Ich sage nur, das Volumen ist die Länge multipliziert mit der Höhe multipliziert mit der Breite.
‫Dadurch wird dieses Volumen erstellt oder das Volumen berechnet, da das Volumen das Ergebnis dieser Berechnung hier ist, verlängern Sie die
‫Seitenzeiten, in denen es das Volumen sein wird.
‫Gut.
‫Lassen Sie mich es jetzt in zwei Zeilen aufteilen, damit es etwas besser lesbar ist.
‫Gut.
‫Jetzt haben wir also diese Methode, dieses Flugzeug für den Moment.
‫Lassen Sie uns diese Datei speichern und zu unserem Programm gehen.
‫Jawohl.
‫Hier werden wir diese Klasse verwenden.
‫Wir werden ein Objekt dieser Klasse erstellen.
‫Wie erstellen wir Objekte?
‫Brunnen.
‫Also erstelle ich daraus ein neues Objekt, ich nenne dieses eine Kästchen und es wird ein neues Kästchen.
‫So erstellen Sie also ein Objekt einer Klasse oder eine Instanz einer Klasse.
‫Also erstelle ich eine Instanz dieser Klassenbox.
‫Also so ziemlich eine Variable vom Typ Box und Boxen, die wir selbst erstellt haben.
‫Was ich jetzt tun kann, ist, ihm die Werte zuzuweisen, damit ich
‫fortfahren und sagen kann: OK, die Länge wird drei sein, dann wird die Höhe vier sein und die mit wird fünf sein, irgendwas so wie das.
‫Natürlich brauche ich auch hier ein Gleichheitszeichen, damit das richtig ist.
‫Jetzt kann ich einfach weitermachen und die Anrufbox starten.
‫Diese Spielinfo, das ist also ziemlich cool.
‫Ich brauche diese helle Aussage hier nicht mehr.
‫Ich kann diese Datei jetzt speichern und ausführen.
‫Lassen Sie uns diese Datei ausführen und sie zeigt alle Informationen und die Konsole an.
‫Da sind wir also, Lenfest ist frei und Hyde ist für und mit seinen fünf, also ist das Volumen 16.
‫Alles klar, das hat also geklappt.
‫Das ist großartig.
‫Diese Anzeigeinformationen haben also funktioniert und nur die Details wiedergegeben, die wir wollten.
‫Was wir jetzt tun könnten, ist, die Werte oder die Werte der Member-Variablen unserer Box-Klasse
‫zu ändern, und zwar weil sie öffentlich sind.
‫Rechts.
‫Dieser ist also öffentlich.
‫Dieser ist öffentlich.
‫Auch dieser ist öffentlich.
‫Sie sind also alle öffentlich.
‫Nun, dies ist sehr unsicherer Code, denn wenn Sie zu diesem Zeitpunkt Mitglieder-Roboter schreiben, die vollständig öffentlich sind,
‫kann jeder sie jederzeit ändern.
‫Jeder, der ein Objekt oder jede Klasse, die ein Objekt der Box erstellen kann, erstellen
‫kann, kann also alle Werte dieser Instanz der Box ändern.
‫Jeder, der Zugriff auf diese Box hatte, kann sie jetzt ändern.
‫Und das ist etwas, das später viele Probleme verursachen kann, gerade wenn Sie programmieren und ein Team und
‫Mitarbeiter dann wirklich umständlich werden können, so zu tun.
‫Es gibt also bessere Wege, es gibt sauberere Wege, dies zu implementieren, weil Sie vielleicht nicht möchten, dass
‫dies endgültig einstellbar ist.
‫Vielleicht möchten Sie, dass die Länge einen bestimmten Wert hat.
‫Niemand kann es anpassen.
‫Dann könntest du das machen.
‫Sehr privat, also wird meine Member-Variablenlänge privat sein und ich werde ihr einfach einen Standardwert von
‫drei zuweisen.
‫Jetzt hat also jede Box, die ich erstelle, den Wert für die Länge drei.
‫Jede Box hat also eine Länge von drei Zoll oder Metern oder was auch immer die Metriken sind, die Sie verwenden.
‫Also kann ich jetzt keine Länge mehr zuordnen.
‫Sie sehen, ich erhalte eine Fehlermeldung wie diese, die aufgrund ihrer Schutzstufe nicht zugänglich ist.
‫Also haben wir die Schutzstufe hinzugefügt, indem wir sie privat gemacht haben.
‫Jetzt können wir es also nicht mehr anpassen.
‫Wie können wir es also noch ändern?
‫Nun, wir können nicht, nicht auf diese Weise.
‫Wir müssen also etwas implementieren.
‫Wir müssen einen alternativen Weg implementieren, um die Länge der Box zu ändern.
‫Gut.
‫Um dies zu tun, können wir sogenannte Setter und Getter implementieren.
‫In diesem Fall können wir also nicht einmal mehr auf die Länge der Box zugreifen.
‫Nehmen wir an, ich möchte die Länge schreiben.
‫Also möchte ich die richtige Zeilenlänge der Box konsultieren und dann nur auf die Boxlänge zugreifen.
‫Wie Sie sehen, zeigt meine ID nicht einmal die Variable an.
‫Ich kann nicht auf eine Box mit dieser Länge zugreifen, also kann ich sie nicht ändern, aber ich kann sie auch nicht lesen.
‫Gut.
‫Ich kann es also weder abrufen noch einstellen.
‫Dies ist also die Einstellung und das Abrufen der Variablen.
‫Dies sind sehr wichtige Begriffe zum Setzen und Abrufen, denn jetzt können wir Methoden in unserer Box-Klasse
‫erstellen, die es uns ermöglichen, die variable Länge zu setzen oder zu erhalten.
‫Also lass uns das einfach machen.
‫Lassen Sie uns eine erstellen.
‫Setar, so öffentlich.
‫Voight legt die Länge fest, also wird dieses Verbal jetzt die Länge festlegen, auf was wird es eingestellt?
‫Nun, es braucht hier eine Variable oder einen Parameter.
‫Es braucht hier einen Wert, auf den es setzen kann.
‫Es geht also einfach.
‫Benötigen Sie hier eine ganze Zahl, und ich werde diese nur eine Länge nennen.
‫Also wird jetzt die Länge eingestellt, ich werde die Länge einstellen, gleich lang.
‫Das ist jetzt verwirrend und auch falsch.
‫Deshalb bekomme ich hier eine Warnung.
‫Erhalten Sie hier nicht einmal einen Fehler, denn wie Sie sehen, sind die Farben unterschiedlich.
‫Rechts?
‫Diese Farbe und diese Farbe sind also etwas unterschiedlich.
‫Dieser hat diese sehr helle Farbe und dieser ist eine dunklere blaue Farbe.
‫Was ist denn hier los?
‫Da wir hier dasselbe Wort verwenden, verwenden wir hier Länge.
‫Wir verwenden Länge und hier, auch hier.
‫Diese Länge hier ist also tatsächlich diese oder sollte diese Länge hier oben sein.
‫Wenn ich es also richtig machen möchte, kann ich dieses Schlüsselwort verwenden.
‫Damit sage ich, OK, ich möchte die Länge ändern, das heißt.
‫Teile.
‫Von dieser Klasse namens Box möchte ich die Länge dieses Objekts ändern.
‫OK, also in diesem Fall das Objekt, das von der Klassenbox erstellt wird.
‫Gut.
‫Unabhängig von der Länge, die mir zugewiesen wird, also unabhängig von der Länge, die vergangen ist, wird eine festgelegte Länge
‫als diese Methode bezeichnet.
‫Diese Variable hier, und sie wird auf die Länge gesetzt, die meine private Member-Variable meiner Box ist. Dies
‫ist sehr wichtig, denn was ich jetzt tun kann, ist, dass ich jetzt die Länge der Box ändern
‫kann, indem ich dies tue set Länge.
‫Ich kann die Länge auch auf beispielsweise drei einstellen und jetzt den Code erneut ausführen und es funktioniert
‫einwandfrei.
‫Und mal sehen, in Ordnung, wir sind frei der Länge, Hydrosphäre und so weiter.
‫In Ordnung, also sagen wir jetzt, ich möchte keine drei haben, weil dies der Standardwert war.
‫Nehmen wir an, ich möchte die Länge für haben und jetzt können wir sehen, dass es funktioniert und sich auch die Lautstärke angepasst
‫hat.
‫So hat es sogar für die Berechnung funktioniert.
‫Das ist also großartig.
‫Jetzt können wir also eine Variable setzen, die eine Membervariable einer Klasse ist.
‫Das ist also wichtig.
‫Wir sprechen von einer anderen Klasse.
‫Es ist nicht in derselben Klasse.
‫Jetzt können wir versuchen, auf diese Länge zuzugreifen, da sie privat ist.
‫Rechts?
‫Wie könnte ich also darauf zugreifen?
‫Denn vielleicht brauche ich diese Variable hier wirklich irgendwo.
‫Ich möchte auf die Länge zugreifen, kann es aber nicht.
‫Was ich also implementieren kann, ist ein sogenanntes GETER.
‫So bekomme ich Länge öffentlich.
‫Und in diesem Fall muss der Typ derselbe Typ sein wie die Variable, die ich zurückgeben möchte.
‫Und in diesem Fall möchte ich den Wert dieser Länge zurückgeben, wo ich die Länge selbst zurückgeben möchte.
‫Rechts.
‫Es ist also vom Typ Ende.
‫Ich muss also einen Endtyp für diese Methode zurückgeben.
‫Dieser wird also länger.
‫Und dies ist auch die Konvention, den Namen get mit einem großen G zu verwenden und dann den Namen der Variablen, die Sie
‫abrufen möchten.
‫Und in diesem Fall möchte ich die variable Länge erhalten und jetzt geben Sie einfach die Länge zurück.
‫Nun, um genauer zu sein, geben Sie diese Länge zurück.
‫Natürlich könnten Sie nur für diese Länge.
‫Aber wenn Sie dies hinzufügen, ist es völlig klar, dass wir hier über die Member-Variable sprechen.
‫Wir sprechen also über die Variable, die sich auf der höchsten Ebene dieser Klasse befindet.
‫Es ist also nicht innerhalb einer Methode oder so.
‫Sie konnten auf diese Weise nicht einmal darauf zugreifen.
‫Aber hier ist es diese besondere Länge, über die wir sprechen.
‫Wenn ich also darauf klicke, siehst du mein Ich. D. markiert es automatisch.
‫Und es markiert auch diese Länge hier unten.
‫Jetzt kann ich die Länge abrufen, indem ich get length mit dieser öffentlichen Methode verwende, und es ist wichtig, dass sie öffentlich ist, denn
‫wenn sie nicht öffentlich wäre, könnte ich nicht darauf zugreifen.
‫In diesem Fall speichere ich die Box also wieder und erhalte jetzt die Länge durch Aufruf dieser Methode get length
‫und jetzt funktioniert es plötzlich wieder.
‫Also kann ich jetzt weitermachen.
‫Und natürlich.
‫Auch hier richtig, Länge, und lassen Sie es uns noch einmal ausführen, und es wird die Boxlänge sein und
‫in diesem Fall ist es vier.
‫In Ordnung, dies ist also nur die Vorbereitung für Eigenschaften, aber es ist ein wichtiges Konzept, Setter und
‫Getter.
‫Dies ist etwas, das Sie auch ziemlich oft sehen werden.
‫Es ist also ein völlig guter Ansatz, aber es gibt viel einfachere und schnellere Ansätze.
‫Dies ist also nur eine Möglichkeit, dies zu tun.
‫Aber ich zeige Ihnen zwei oder sogar drei andere Möglichkeiten, es noch schneller zu machen und die gleiche Art
‫von Schutz zu haben, denn was wir hier tun, nennt man Kapselung.
‫Wir kapseln also den Überschuss unserer Länge ein.
‫Die Definition von ist, dass sich Kapselung auf das Erstellen von Daten mit den Methoden bezieht, die
‫auf diesen Daten arbeiten, oder auf die Beschränkung des direkten Zugriffs auf einige Objektkomponenten.
‫Genau das tun wir also.
‫Wir beschränken den Zugriff auf diese Komponente namens length, die Teil eines Objekts oder unserer Klassenbox ist, aus
‫der wir Objekte erstellen können.
‫Gut.
‫Und wir erstellen diese Setter und Getter, um sie noch anzupassen.
‫Das Schöne daran ist, dass Sie definieren können, wie Sie kapseln möchten.
‫In diesem Fall habe ich beide öffentlich gemacht.
‫Aber was ist, wenn ich nicht möchte, dass sie öffentlich sind?
‫Was ist, wenn ich das will.
‫Nicht geeignet, also sagen wir, ich möchte nicht, dass jemand die Länge meiner Box einstellen kann, also könnte
‫ich diese Box privat machen.
‫Also nur jetzt.
‫Klassen, die von unserer Box erben oder die Box selbst können die Länge von außen festlegen, wir können die
‫Länge nicht mehr festlegen.
‫Das Einstellen der Länge hier funktioniert nicht mehr, diese Codezeile funktioniert nicht mehr, weil ich beschlossen habe,
‫OK, wenn jemand die Länge festlegen möchte, wollte ich nur die Klasse selbst sein oder Klassen erben, aber keine Klassen außerhalb
‫von mir.
‫Dies ist etwas, das Sie von hier aus direkt ändern können. Sie könnten auch sagen, OK, selbst das Abrufen
‫der Länge wäre außerhalb von hier nicht zulässig.
‫Gut.
‫Aber jetzt ist das Coole, dass Sie diese anpassen können.
‫Nehmen wir an, jemand möchte die Lautstärke haben.
‫Und jetzt haben wir die Lautstärke noch nicht eingestellt.
‫Was wir stattdessen tun können, können wir weitermachen und sagen, dass public int Volumen bekommt.
‫Und wenn jemand das Volumen haben möchte, werden wir nicht nur Volumen zurückgeben, sondern wir
‫werden es zurückgeben.
‫Diese Startlänge multipliziert mit diesem Gedanken, die Höhe multipliziert mit diesem Gedanken mit Wenn also jemand das Volumen erhalten
‫möchte, bekommt er das Volumen nicht direkt.
‫Erhalten Sie also keinen direkten Zugriff auf diese Variable.
‫Diese Volumenvariable.
‫Aber sie erhalten tatsächlich das Ergebnis der Berechnung.
‫Wenn ich dies jetzt speichere und stattdessen fortfahre und hier get volume verwende, dann ist Boxes volume und jetzt wird das
‫Volumen der Box angezeigt.
‫Mal sehen, Box, dieses Volumen beträgt 60.
‫Im Allgemeinen machen wir mit diesen Settern und Gettern also keinen
‫direkten Zugriff auf die Variable, auf die Member-Variable, sondern nur auf eine Methode, die dann die
‫Variable anpassen kann und wir selbst entscheiden können wie wir diesen Wert weitergeben.
‫Wie wir also in diesem Fall mit großem Volumen den Wert ausgeben, haben wir uns entschieden, OK, wir wollen Ihnen
‫nicht das Volumen selbst geben, sondern das Ergebnis einer Berechnung.
‫Oder wir könnten sagen, OK, wenn jemand die Lautstärke haben möchte, sagen wir,
‫es wird Lautstärke mal zwei oder so ähnlich, oder wenn jemand die Länge einstellen möchte und es etwas Negatives ist.
‫Nehmen wir also an, wir machen dies noch einmal öffentlich, eine öffentliche Stimme und jetzt überprüfen wir, ob.
‫Länge.
‫Ist kleiner als null.
‫Wir werden einen Fehler auslösen, eine neue Ausnahmegröße auslösen oder diese eine Länge sollte größer als Null sein.
‫Gut.
‫Wenn die Länge also kleiner als Null ist, lösen wir eine Ausnahme aus und dies führt nur zum Absturz unseres Programms, sodass diese
‫Zeile nie ausgeführt wird.
‫Also versuchen wir es jetzt.
‫Gehen wir zu unserem Programm und setzen wir unsere Boxlänge auf einen negativen Wert.
‫Stellen wir ihn auf minus vier.
‫Jetzt führen wir es erneut aus und werden sehen, dass wir eine Ausnahme erhalten.
‫Unser Programm stürzt also ab und wir erhalten hier eine Ausnahme.
‫System, außergewöhnliche Länge sollte größer als Null sein.
‫Sie sehen also, dass wir mit geworfener Ausnahme unsere eigenen Ausnahmen auslösen können.
‫Wir können sogar sagen, was die Ausnahmen sagen sollen.
‫Und es sollte aussagekräftig sein.
‫Es sollte etwas sein, das nützlich ist und den Fehler deutlich macht.
‫In diesem Fall haben wir einen Fehler erzeugt, weil wir die Länge auf einen Wert kleiner als Null gesetzt haben.
‫Gut.
‫Das ist also die Macht dieser Setter und Getter, denn Sie fragen sich vielleicht, warum ich diese Setter brauche und
‫uns holen sollte?
‫Warum kann ich nicht einfach direkt auf die Länge zugreifen, wenn ich nur Setter habe und auch bekomme?
‫Jetzt sehen Sie es, Sie können aktiv mitbestimmen, was gesetzt wird und was Sie bekommen, wenn jemand versucht, auf
‫diese Variable zuzugreifen und sie zu ändern oder auch nur abzurufen.
‫Okay, das war also viel länger als ich erwartet hatte und ich hatte vor, dieses Video
‫zu machen, aber ich wollte wirklich alles klarstellen, weil dies ein wichtiges Sprungbrett für
‫das nächste Konzept sein wird, das sein wird Eigenschaften.
‫Sie werden sehen, wie wir dies alles zusammenfassen oder mithilfe von Eigenschaften viel kürzer machen können.
‫Ich würde also sagen, gehen wir zum nächsten Video, in dem wir uns ansehen, wie Eigenschaften verwendet werden und wie sie sich auf
‫das beziehen, was wir in diesem Video gelernt haben.
‫Ich hoffe, es macht Sinn.
‫Wenn Sie Fragen haben, lassen Sie es mich wissen.
‫Und ja, schreib einfach einen Kommentar und natürlich Diskussionen.
‫Und übrigens, vielen Dank für alle, die Feedback geben, denn es hilft mir wirklich, den Kurs besser zu machen,
‫wenn man sich das nur passiv ansieht, denn es ist völlig in Ordnung.
‫Aber ich schätze es sehr, wenn du Feedback hast und es ist konstruktiv und hilft mir wirklich zu wissen, an welcher Stelle etwas
‫nicht klar ist, denn wenn du nur sagst, OK, dieses Video ist kompletter Müll, dann wird es
‫nicht so nützlich sein, als ob du Sagen Sie, OK, ich habe das Konzept keine Minute fünf oder so verstanden, dass ich
‫viel besser verstehe, was das Problem ist.
‫Also danke nochmal und bis zum nächsten Video.