‫Willkommen zurück und dieses Video, wir werden mit Eigenschaften und Settern
‫und Gettern fortfahren um es ein wenig
‫zu verlängern.
‫Wir haben also gesehen, dass wir Setter verwenden können, um den Wert einer Member-Variablen zu setzen, und wir können unsere eigene Logik implementieren,
‫wie wir sie setzen möchten, damit wir sagen können, OK, wenn Sie den Wert setzen möchten, muss
‫es sein folge meinen Regeln, damit wir unsere eigenen Regeln definieren können, die sein müssen.
‫Gefolgt und dann haben wir Getas, die wir auch anpassen können, also können wir einfach sagen, OK, wenn Sie
‫die Variable bekommen wollen, gebe ich Ihnen in diesem Fall das Ergebnis der Multiplikation von Länge, Höhe, Breite,
‫damit Sie sie nach Ihren Wünschen ändern können.
‫Schauen wir uns nun Eigenschaften an und wie dies alles miteinander verbunden ist.
‫Lassen Sie uns also eine Eigenschaft erstellen, und ich werde eine öffentliche Eigenschaft namens height erstellen.
‫Und diese Höhe wird meine Höhenelementvariable anpassen.
‫Also war es vorher öffentlich.
‫Jetzt mache ich es privat, damit wir von außen nicht auf die Höhe zugreifen können.
‫Wenn ich hier also die Höhe anpassen möchte, kann ich dies nicht mehr tun.
‫Jetzt bekomme ich diesen Fehler.
‫Gut.
‫Verwenden wir nun unsere Höheneigenschaft, um noch auf unsere Höhe dort oben zugreifen zu können.
‫Also, wie machen wir das?
‫Nun, wir verwenden diese Eigenschaft zunächst mit einem großen H und dem Anfang.
‫Das ist im Allgemeinen die Art und Weise, wie Sie Eigentum verwenden.
‫Das ist eine Konvention und eine spezielle Programmierung.
‫Die Eigenschaften beginnen mit einem Großbuchstaben.
‫Und jetzt kann ich hier meinen Geter erstellen und zu Höhe zurückkehren und ich kann meine Schwester erstellen und ich kann die Höhe hier
‫einfach so einstellen, dass sie beispielsweise der Wert der Site ist.
‫Was ist nun dieses Wert-Schlüsselwort?
‫Nun, was wir hier tun, ist im Grunde dasselbe wie zuvor.
‫Wir setzen Länge und erhalten Länge.
‫Aber jetzt ist unser Tor sozusagen unsere Grundstückshöhe.
‫Wenn Sie also auf die einprägsame Höhe zugreifen oder diese ändern möchten, müssen Sie dies über die Eigenschaft Höhe tun.
‫Was Sie jetzt tun können, ist, ihn auf den Wert einzustellen, den Sie auf die Höhe einstellen.
‫Wie sieht es nun eigentlich aus, wenn wir hier zu unserem Programm gehen, wenn wir versuchen, die Höhe einzustellen?
‫Durch den direkten Zugriff auf die Membervariable können wir dies nicht mehr tun, aber wenn Sie auf die Eigenschaft zugreifen, ist, wie Sie
‫sehen, die Höhe hier verfügbar und es ist dieses Werkzeugsymbol, das wir hier sehen können.
‫Dies ist also im Allgemeinen das Symbol, das Sie haben, wenn Sie auf eine Eigenschaft zugreifen möchten.
‫Und Sie können sehen, dass dies funktioniert, sodass wir jetzt die Höhe einstellen können.
‫Und wenn wir dies tun, dann dies oder dies für hier, was auch immer hinter diesem Gleichheitszeichen oder nach diesem Gleichheitszeichen steht.
‫Das ist der Wert hier bei diesem Wert und wird als Höhe eingestellt.
‫Dieser Wert entspricht also ziemlich genau der Länge, die wir zuvor hatten, als wir diese festgelegte Länge erstellt haben.
‫Es ist so ziemlich das gleiche Konzept, aber wir sind nur ein kürzerer Weg, es zu tun.
‫Rechts.
‫Sie können also sehen, ob wir einen Setter haben wollten, wir hatten all diesen Code.
‫Natürlich brauchten wir diesen Code hier nicht.
‫Gut.
‫Aber trotzdem hatten wir all diesen Code und jetzt haben wir diesen superkurzen Code.
‫Das ist also das Zentrum.
‫Natürlich können wir hier jetzt auch anpassen, sagen wir, wenn der Wert kleiner
‫als Null ist, dann setzen wir unsere Höhe auf minus Wert und sonst ist das Höhe gleich.
‫Okay, nun gehen wir zu unserem Programm und setzen nun das Hoch auf minus vier.
‫Und schließlich legen wir das fest, weil wir diesen Fehler zuvor erstellt haben, richtig, und jetzt setzen wir die Höhe auf
‫minus vier und lassen unseren Code ausführen.
‫Und wir werden sehen, dass es so für Lenfest funktioniert, wie es denn mit diesem Kampf ist.
‫Warum also?
‫Obwohl wir den Wert auf minus vier gesetzt haben?
‫Nun, wir haben gesagt, wenn der Wert der Höhe, den Sie mir übergeben, negativ ist, dann werde ich ihn multiplizieren.
‫Wenn der Wert kleiner als null ist, multipliziere ich ihn mit minus eins.
‫Also werde ich es noch einmal positiv formulieren.
‫Und wenn es positiv ist, dann machen Sie es einfach oder weisen Sie es einem Wert zu oder wenn es Null ist, ist es auch in Ordnung.
‫Gut.
‫Das ist es, was wir mit Eigenschaften machen können.
‫Dies ist nun eine Implementierung einer Eigenschaft.
‫Natürlich können Sie die Eigenschaft auch einfach verwenden, ohne eine Membervariable zu haben.
‫Dieses denkwürdige, das wir hier haben, könnte also etwas sein, das überhaupt nicht erforderlich ist.
‫Also könnten wir das auch einfach überspringen.
‫Nehmen wir an, ich möchte die Breite nicht als Membervariable festlegen.
‫Ich möchte es als Eigentum haben.
‫Und ich zeige Ihnen eine andere Möglichkeit, eine Eigenschaft zu erstellen.
‫Und das geht viel, viel schneller.
‫Sie verwenden also einfach P, R, O, P und dann doppeltippen und dies wird diese Eigenschaft für Sie erstellen.
‫Jetzt können Sie nur noch eingeben, um zu tippen.
‫Und ich werde sagen, okay, es wird eine ganze Zahl sein.
‫Dann drücken Sie erneut auf tippen und jetzt können Sie ihm einen Namen geben.
‫Also rufe ich das hier mit an.
‫Was ist denn hier los?
‫Nun, das ist ein Code, der gerade von C Sharp verstanden wird und der sogar automatisch mit unserer ID für uns erstellt
‫wurde, richtig.
‫Sagt nur Semikolon setzen, Semikolon.
‫Dies bedeutet also nur, dass es sich nur um einen Standard-Getter und einen Standard-Setter
‫handelt, was bedeutet, dass Sie, wenn Sie darauf zugreifen möchten, einfach mit der with-Variablen this-Eigenschaft darauf zugreifen können.
‫Und wenn Sie es einstellen möchten, können Sie es auch einfach verwenden.
‫Was bedeutet das in unserem Fall?
‫Nun, das bedeutet, dass wir jetzt auf diese Eigenschaft zugreifen können, indem wir einfach einen Wert zuweisen und wenn Sie ihn ausfahren
‫möchten.
‫Also wenn wir darauf zugreifen wollen.
‫Boxen mit.
‫Ist Kastenpunkt.
‫Damit können wir direkt auf die Immobilie zugreifen.
‫In Ordnung, das ist also der Unterschied hier.
‫Intern ist es also dasselbe, als hätten wir es erschaffen.
‫Die.
‫Mit kehren wir dazu zurück mit lass uns diese Member-Variable wieder haben, intern
‫ist es also dasselbe, als ob ich diese öffentlich und mit erstellt hätte, und ich werde dies vorerst auskommentieren und einen Getter haben.
‫Also bekomme ich das mit zurück.
‫Oder sie beginnen mit.
‫Und das Zentrum, wo ich sagte, dass sie mit Wert beginnen.
‫Alles klar, das ist es wirklich.
‫Es gibt.
‫Der Code hier ist wirklich genau derselbe wie dieser, und intern geschieht dies auch, wenn Sie
‫den Code kompilieren, damit der Compiler dies automatisch tut.
‫Für uns heißt es nur: OK, wenn Sie diese Codezeile haben, werde ich sie völlig behandeln, als wäre es
‫dieser Code, den Sie hier haben, nur dass er viel kürzer ist und es viel einfacher ist, ihn zu erstellen
‫Code.
‫Gut.
‫Also werde ich dies nur auskommentieren, weil ich es wie diesen kurzen Ansatz lese, den wir dort haben.
‫Und kommentieren wir das so.
‫Und ich brauche diese Member-Variable nicht mehr, gut, denn hier brauchen wir ein Member-Verbal, weil ich das with gesetzt habe
‫und in diesem Fall sagte ich, die Member-Variable mit habe ich nicht gesetzt.
‫Unsere Wirtschaft kann nicht mit sich selbst anfangen, also wenn ich stattdessen hier mit schreiben würde.
‫Und wenn ich das jetzt mache, erzeuge ich einen Stack-Overflow, also versuche ich ständig etwas einzustellen und es wird hier
‫eine Endlosschleife sein, was nicht gut ist.
‫Deshalb musste ich mir die Variable für dieses Beispiel hier merken.
‫Gut.
‫Aber intern wird es so behandelt.
‫OK, intern wird es also wie der Code behandelt, den wir hier haben, nur dass er für uns viel kürzer
‫ist.
‫In Ordnung, also jetzt eine kleine Herausforderung für Sie, bitte erstellen Sie eine Eigenschaft für Volumen, die es umgibt, wie
‫wir es hier mit der Breite getan haben.
‫Gut.
‫So ziemlich das gleiche Beispiel, das wir hier hatten, nur dass die Lautstärke und nicht die Breite angepasst
‫wird.
‫Versuchen Sie das also, erstellen Sie Ihre eigene Eigenschaft, geben Sie sie ein.
‫Machen Sie nicht den kurzen Ansatz oder verwenden Sie den kurzen Ansatz.
‫Gut.
‫Damit dies Sinn macht, müssen wir zuerst unser Volumen privat machen und dann können
‫wir eine Eigenschaft für ein Volumen erstellen, das so öffentlich ist und Volumen mit einem großen V erhalten wird.
‫Lautstärke zurückgeben und dann sitzen.
‫Dieses Volumen ist gleich dem Wert.
‫Dies ist also ihre Eigenschaft, die wir für das Volume erstellt haben.
‫Ich hoffe, Sie konnten dies tun.
‫Natürlich hätte man dieses Volumen auch ganz loswerden und es genauso erstellen können, wie wir es
‫mit dem viel schneller gemacht haben.
‫Aber ich wollte dir nur zeigen, dass das auch cool ist.
‫Jetzt die.
‫Wichtig dabei ist, dass wir uns über die Volumenvariable oder diese Eigenschaft Gedanken machen können und warum bzw. an welcher
‫Stelle ist es sinnvoll, sie zu ändern oder zu erhalten?
‫Macht es überhaupt Sinn, beides zu machen?
‫Denn das Volumen wird anhand der Breite und Höhe und Länge berechnet.
‫Ist es nun sinnvoll, die Lautstärke direkt einzustellen?
‫Nun, nein, das würde ich sagen.
‫Ich denke, die Lautstärkeeinstellung macht überhaupt keinen Sinn.
‫So könnten wir dieses ganze Zentrum loswerden und nur einen Getter haben.
‫Nun, die Lautstärke selbst, wir stellen die Lautstärke nie ein.
‫Es wird immer berechnet.
‫Ist es also sinnvoll, einfach die Lautstärke zurückzugeben?
‫Nun, das tut es wirklich nicht, denn eigentlich sollten wir hier
‫an dieser Stelle berechnen, dass das Volumen die Multiplikation von Länge, Höhe und demselben ist.
‫Jetzt ist es viel aussagekräftiger.
‫Was wir mit dem Volumen zurückgeben, ist also viel aussagekräftiger.
‫Wenn jemand die Lautstärke haben will, bekommt er das.
‫Jetzt haben wir natürlich hier unten einen kleinen Fehler gemacht oder einige Get-Volume-Methoden, die wir nicht mehr brauchen, und
‫gleichzeitig ist hier mit now die Eigenschaft, auf die wir zugreifen.
‫Es wird nicht sein.
‫Die keine verbalen mehr, weil wir sie nicht mehr haben.
‫Und natürlich können wir in unserem Programmfall jetzt auch alles anpassen, also können wir jetzt
‫direkt auf das WLAN zugreifen und wir können direkt auf die Volume-Eigenschaft zugreifen und nicht mehr auf die Volume-Member-Variable.
‫Gut.
‫Also lassen Sie uns hier einen letzten Schritt machen.
‫Und das ist, einen Konstruktor hinzuzufügen, also öffentliche Box.
‫Und.
‫Länge und Höhe und Ende mit.
‫Wenn wir nun also eine Box erstellen, möchte ich alle diese Werte haben und die
‫Länge, die mir nach der Erstellung der Box gegeben wird, sollte diese Länge sein, dann sollte die Höhe, die diese Höhe erhält, die Höhe
‫sein.
‫Die angegebene Höhe sollte also die Höhe sein, die wir hier haben, die unsere Membervariable ist.
‫Und unser mit ist das letzte.
‫Und das ist das Eigentum.
‫Also haben wir es zu der Breite gesagt, die uns gegeben wird.
‫In diesem Fall können Sie dieses Schlüsselwort natürlich weglassen, mit dem Sie einfach sagen können, denn es
‫ist auch offensichtlich, dass wir über die Eigenschaft dieser Klasse sprechen.
‫Sie brauchen dieses Schlüsselwort hier also nicht.
‫Nun, eine wichtige Sache, die jemand gefragt hat, und ich wollte dies wirklich deutlich machen.
‫Das heißt, dass Länge gleich Länge funktioniert, aber Länge ist gleich.
‫Diese Länge macht keinen Sinn.
‫Diese Zeile hier macht also keinen Sinn, weil die Länge dieser Teil hier ist, der wirklich nur ein Parameter ist und der
‫Wert, der uns gegeben wird.
‫Wir wollen also nicht den Wert, der uns gegeben wird, anpassen, sondern den Wert unserer Eigenschaft oder
‫unserer Member-Variablen setzen.
‫Und das tun wir hier.
‫So und in diesem Fall tun wir das.
‫Wir legen den Wert unserer Member-Variablen fest.
‫In Ordnung, jetzt verwenden wir diese Box jetzt als Erstellungsboxen, weil wir das alles jetzt nicht mehr tun müssen.
‫Wir müssen die Werte nicht mehr direkt einstellen, können sie aber bei der Erstellung unserer Box setzen.
‫Also weise ich nur die Werte drei, vier und fünf zu.
‫Die Länge ist also drei zum Verstecken oder tatsächlich ist die Höhe vier.
‫Und mit dieser fünf.
‫Und jetzt, wenn wir dies ausführen, werden die Breite und das Volumen für uns angezeigt.
‫Damit sind Sie bei diesen fünf Bänden 60.
‫Gut.
‫Das scheint zu funktionieren.
‫Jetzt können wir mit dem Zugriff auf unser Eigentum beginnen.
‫Nehmen wir an, wir setzen die Breite jetzt auf zehn und führen diesen Code erneut aus.
‫Und wir haben einfach noch einmal damit gespielt, damit wir sehen können, dass der vorgegebene Wert gedruckt wird und dann
‫der neue Wert, den wir gesetzt haben, also setzen wir 210 und jetzt sagt es den Wert und
‫berechnet den entsprechend mit.
‫Dreimal, viermal zehn ist also 120.
‫Ist das neue Volume in Ordnung, das Zusammenrufen, also haben wir zuallererst einen Haufen ohne Variablen
‫erstellt.
‫Wir haben sie privat gemacht, damit niemand außer dieser Klasse selbst direkt darauf zugreifen kann.
‫OK, also kann keine andere Klasse direkt darauf zugreifen.
‫Sie können nur über unsere von uns erstellten Eigenschaften oder über unsere Setter und Getter darauf zugreifen.
‫Wir haben also die eingestellte Länge bei großer Länge.
‫Wenn also jemand auf die Längenvariable zugreifen möchte, muss er den Weg mit set length und get length
‫gehen.
‫Dies ist ein absolut gültiger Ansatz, und Sie werden das sehen.
‫Und ja, mit diesen Ansätzen können Sie die Logik definieren, der Sie folgen möchten.
‫Wenn jemand zum Beispiel eine Variable setzen möchte oder eine Variable bekommen möchte.
‫Eine andere Möglichkeit besteht darin, eine Eigenschaft direkt zu verwenden.
‫Wenn Sie also eine Eigenschaft verwenden, müssen Sie sie mit einem Großbuchstaben aufrufen und
‫können dann einen Getter usw. implementieren. Sie können sich aber auch einfach entscheiden, entweder nur einen
‫Getter oder nur einen Buchstaben zu implementieren oder natürlich nicht beides zu implementieren.
‫Sie können die Werte auch direkt festlegen, sodass Sie entweder die Mitgliedsvariablen festlegen können.
‫So haben wir es hier gemacht.
‫Sozusagen, indem wir ein Gateway namens height, das unsere Eigenschaft ist, zu unserer Höhe hinzufügen, die wir hier oben erstellt haben, die unsere
‫Member-Variable ist, oder wir sind einfach den direkten Weg gegangen, wo wir gerade gesagt haben, OK,
‫wir werden dirigieren.
‫Wir haben hier eine sehr einfache automatisch implementierte Eigenschaft und brauchen dafür keine zusätzliche Member-Variable.
‫Wir hätten den ganzen Weg gehen können, damit all diese Variablen nur Eigenschaften haben, also hätten wir es sehr einfach
‫machen können.
‫Aber nur mit drei Eigenschaften wie.
‫Dies alles loszuwerden und nur ein öffentliches oder PR-Op-Doppeltippen und dies wäre die Länge würde einfach eingestellt werden und
‫dann das gleiche für die Höhe und so weiter.
‫Aber ich wollte Ihnen nur all die verschiedenen Wege zeigen, die es gibt und all die verschiedenen Wege, die Sie
‫sehen werden.
‫Und die meiste Zeit, wenn Sie etwas sehen oder Eigenschaften verwenden, werden Sie die meiste Zeit
‫so sehen.
‫Was ist also mit der automatisch implementierten Eigenschaft der einfachste und schnellste Weg?
‫Sie müssen nicht all die verschiedenen Ansätze verwenden, die ich Ihnen gezeigt habe,
‫die wirklich wichtig sind, Sie müssen nicht alle unterschiedlichen Strukturen verwenden, aber in einigen Fällen müssen Sie das Zentrum
‫implementieren.
‫In einigen Fällen müssen Sie die spezifische Reihenfolge implementieren und wissen jetzt, wie es geht.
‫Kurz gesagt, wenn Sie Fragen haben, warum sollten Sie diesen Ansatz benötigen?
‫Nun, sie werden nur verwendet, wenn keine zusätzliche Logik in den Eigenschaftsaccessoren erforderlich ist.
‫Und die Eigenschaftsdefinitionen und.
‫Ja.
‫Getter und Setter.