‫Willkommen zurück und in diesem Video werden wir uns den Unterschied
‫zwischen Werttyp und Referenztyp ansehen, damit die Datentypen in zwei Kategorien eingeteilt werden können, je nachdem, wie sie den Speicherplatz belegen.
‫Und wir werden uns diese Typen im Detail ansehen.
‫Als erstes schauen wir uns also den Werttyp an.
‫Wie der Name schon sagt, handelt es sich um einen Datentyp, der, wenn er deklariert und einem Wert zugewiesen wird,
‫diesen Wert direkt auf seinem eigenen Speicherplatz hält.
‫Gut.
‫Der Werttyp verwendet also Ahepe, um Unwert zu speichern.
‫Beispiele für Werttypen sind Datentypen wie int float long double char bool decimal double.
‫Also im Grunde die einfachen Datentypen.
‫Rechts.
‫Schauen wir uns nun die bildliche Darstellung eines Werttyps an.
‫Nehmen wir an, wir erstellen eine neue Variable namens ZEM und sie hat den Wert zweihundertvierunddreißig.
‫Nun wird dieser Wert zweihundertvierunddreißig im RAM an der Position dieser Z-Variablen gespeichert.
‫Gut.
‫Und wenn wir uns den Referenztyp genauer ansehen, können wir sehen, dass es sich um
‫einen Variablentyp handelt, der, anstatt den Wert direkt im Speicher zu speichern, nur den Speicherort der tatsächlichen Daten speichert.
‫Die Variable speichert hier die Speicherreferenz der Daten und nicht die Daten direkt.
‫Das ist der große Unterschied, oder?
‫Referenzdatentypen sind also String-Klassen-Arrays, im Grunde Datentypen, die komplexer sind und sozusagen viel mehr
‫Platz benötigen.
‫Dies geschieht, um Ressourcen zu schonen und unser Programm so schnell wie möglich zu gestalten, da wir dann nicht
‫ständig auf den Wert eingehen und den Wert verschieben müssen.
‫Aber wir können einfach sagen, OK, der Wert befindet sich an diesem Ort, sodass Sie ihn einfach von dort abrufen können,
‫anstatt diese Daten dann beispielsweise zu kopieren, wenn wir sie verwenden.
‫Gut.
‫Wenn wir also diesen Referenztyp eines Datentyps kopieren, wird nur die Speicheradresse der Daten kopiert.
‫Wir haben dann also zwei Variablen, die auf dieselben Daten zeigen.
‫Schauen wir uns also die bildliche Darstellung hier an.
‫Wir haben also diese Zeichenfolge mit dem Namen zuerst Dennis, und dann haben wir die Adresse des Variablenwerts und
‫dann den tatsächlichen Wert.
‫So können Sie hier die.
‫Dieser Wert hier ist nur die Adresse, die Sie hier sehen, aber die Adresse der Variablen.
‫Name ist hier drüben, daher werden die Adresse des Variablenwerts und der tatsächliche Wert an zwei verschiedenen Orten in Ihrem
‫RAM gespeichert.
‫Insgesamt ist die Adresse mit variablem Wert also super kurz.
‫Es ist wirklich nur eine sehr einfache Zahl.
‫Rechts.
‫Andererseits kann der tatsächliche Wert jedoch recht komplex sein.
‫Es könnte sich also um ein ziemlich komplexes Objekt handeln, in dem viele Informationen gespeichert sind.
‫Und deshalb ist es für unsere Programme besser, diesen Ansatz oder generell Cis zu verwenden.
‫Nehmen wir an, Sie gehen zu einer Autovermietung und möchten ein Auto haben, richtig?
‫Du gehst also zu einer Autovermietung und dann bist du am Schalter und möchtest dein bestelltes Auto
‫abholen.
‫Nun, der Schalter hat nicht Ihr Auto, aber den Standort Ihres Autos.
‫Es wird Ihnen also die Schlüssel geben und es wird Ihnen sagen, dass Sie in diese Richtung gehen, und Sie werden das Auto in der
‫Zeile so-und-so-Spalte, so-und-so oder Etage oder was auch immer finden.
‫Dann können Sie einfach dorthin fahren und Ihr Auto abholen.
‫Anstatt das Auto in der Theke zu lagern, was nicht funktionieren würde, weil das Auto zu groß
‫wäre, haben sie all diese Referenzen, wo die Autos stehen, damit Sie sie leicht abholen können, auch wenn dieses Beispiel
‫ein wenig fehlt ein bisschen von der restlichen Komplexität, die wir hier haben.
‫Aber vielleicht hilft Ihnen das, den Referenztyp etwas besser zu verstehen.
‫Gut.
‫Das war's für den Moment.
‫Kommen wir zurück zu Cody.
‫Wir sehen uns im nächsten Video.