1 00:00:00,360 --> 00:00:04,890 ‫Willkommen zurück und in diesem Video werden wir uns den Unterschied 2 00:00:04,890 --> 00:00:12,450 ‫zwischen Werttyp und Referenztyp ansehen, damit die Datentypen in zwei Kategorien eingeteilt werden können, je nachdem, wie sie den Speicherplatz belegen. 3 00:00:13,080 --> 00:00:16,600 ‫Und wir werden uns diese Typen im Detail ansehen. 4 00:00:16,710 --> 00:00:18,990 ‫Als erstes schauen wir uns also den Werttyp an. 5 00:00:19,200 --> 00:00:26,130 ‫Wie der Name schon sagt, handelt es sich um einen Datentyp, der, wenn er deklariert und einem Wert zugewiesen wird, 6 00:00:26,130 --> 00:00:29,100 ‫diesen Wert direkt auf seinem eigenen Speicherplatz hält. 7 00:00:29,310 --> 00:00:29,700 ‫Gut. 8 00:00:29,700 --> 00:00:33,150 ‫Der Werttyp verwendet also Ahepe, um Unwert zu speichern. 9 00:00:33,360 --> 00:00:40,140 ‫Beispiele für Werttypen sind Datentypen wie int float long double char bool decimal double. 10 00:00:40,320 --> 00:00:42,150 ‫Also im Grunde die einfachen Datentypen. 11 00:00:42,150 --> 00:00:42,400 ‫Rechts. 12 00:00:42,690 --> 00:00:45,770 ‫Schauen wir uns nun die bildliche Darstellung eines Werttyps an. 13 00:00:45,780 --> 00:00:51,190 ‫Nehmen wir an, wir erstellen eine neue Variable namens ZEM und sie hat den Wert zweihundertvierunddreißig. 14 00:00:51,420 --> 00:00:58,620 ‫Nun wird dieser Wert zweihundertvierunddreißig im RAM an der Position dieser Z-Variablen gespeichert. 15 00:00:59,340 --> 00:00:59,870 ‫Gut. 16 00:00:59,880 --> 00:01:05,670 ‫Und wenn wir uns den Referenztyp genauer ansehen, können wir sehen, dass es sich um 17 00:01:05,670 --> 00:01:12,490 ‫einen Variablentyp handelt, der, anstatt den Wert direkt im Speicher zu speichern, nur den Speicherort der tatsächlichen Daten speichert. 18 00:01:13,650 --> 00:01:18,640 ‫Die Variable speichert hier die Speicherreferenz der Daten und nicht die Daten direkt. 19 00:01:19,080 --> 00:01:20,440 ‫Das ist der große Unterschied, oder? 20 00:01:20,760 --> 00:01:29,010 ‫Referenzdatentypen sind also String-Klassen-Arrays, im Grunde Datentypen, die komplexer sind und sozusagen viel mehr 21 00:01:29,010 --> 00:01:30,720 ‫Platz benötigen. 22 00:01:31,140 --> 00:01:37,140 ‫Dies geschieht, um Ressourcen zu schonen und unser Programm so schnell wie möglich zu gestalten, da wir dann nicht 23 00:01:37,140 --> 00:01:40,740 ‫ständig auf den Wert eingehen und den Wert verschieben müssen. 24 00:01:40,740 --> 00:01:47,430 ‫Aber wir können einfach sagen, OK, der Wert befindet sich an diesem Ort, sodass Sie ihn einfach von dort abrufen können, 25 00:01:47,670 --> 00:01:51,510 ‫anstatt diese Daten dann beispielsweise zu kopieren, wenn wir sie verwenden. 26 00:01:52,260 --> 00:01:52,590 ‫Gut. 27 00:01:52,600 --> 00:01:57,890 ‫Wenn wir also diesen Referenztyp eines Datentyps kopieren, wird nur die Speicheradresse der Daten kopiert. 28 00:01:57,900 --> 00:02:02,790 ‫Wir haben dann also zwei Variablen, die auf dieselben Daten zeigen. 29 00:02:03,030 --> 00:02:05,580 ‫Schauen wir uns also die bildliche Darstellung hier an. 30 00:02:05,730 --> 00:02:12,960 ‫Wir haben also diese Zeichenfolge mit dem Namen zuerst Dennis, und dann haben wir die Adresse des Variablenwerts und 31 00:02:12,960 --> 00:02:14,690 ‫dann den tatsächlichen Wert. 32 00:02:14,940 --> 00:02:16,920 ‫So können Sie hier die. 33 00:02:18,320 --> 00:02:24,530 ‫Dieser Wert hier ist nur die Adresse, die Sie hier sehen, aber die Adresse der Variablen. 34 00:02:25,440 --> 00:02:34,110 ‫Name ist hier drüben, daher werden die Adresse des Variablenwerts und der tatsächliche Wert an zwei verschiedenen Orten in Ihrem 35 00:02:34,350 --> 00:02:35,230 ‫RAM gespeichert. 36 00:02:35,760 --> 00:02:40,530 ‫Insgesamt ist die Adresse mit variablem Wert also super kurz. 37 00:02:40,680 --> 00:02:43,230 ‫Es ist wirklich nur eine sehr einfache Zahl. 38 00:02:43,230 --> 00:02:43,580 ‫Rechts. 39 00:02:44,010 --> 00:02:48,270 ‫Andererseits kann der tatsächliche Wert jedoch recht komplex sein. 40 00:02:48,280 --> 00:02:52,620 ‫Es könnte sich also um ein ziemlich komplexes Objekt handeln, in dem viele Informationen gespeichert sind. 41 00:02:52,830 --> 00:02:58,230 ‫Und deshalb ist es für unsere Programme besser, diesen Ansatz oder generell Cis zu verwenden. 42 00:02:59,940 --> 00:03:05,110 ‫Nehmen wir an, Sie gehen zu einer Autovermietung und möchten ein Auto haben, richtig? 43 00:03:05,120 --> 00:03:10,710 ‫Du gehst also zu einer Autovermietung und dann bist du am Schalter und möchtest dein bestelltes Auto 44 00:03:10,710 --> 00:03:11,070 ‫abholen. 45 00:03:11,430 --> 00:03:16,290 ‫Nun, der Schalter hat nicht Ihr Auto, aber den Standort Ihres Autos. 46 00:03:16,290 --> 00:03:23,070 ‫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 47 00:03:23,400 --> 00:03:26,360 ‫Zeile so-und-so-Spalte, so-und-so oder Etage oder was auch immer finden. 48 00:03:26,640 --> 00:03:30,180 ‫Dann können Sie einfach dorthin fahren und Ihr Auto abholen. 49 00:03:30,180 --> 00:03:36,330 ‫Anstatt das Auto in der Theke zu lagern, was nicht funktionieren würde, weil das Auto zu groß 50 00:03:36,330 --> 00:03:43,080 ‫wäre, haben sie all diese Referenzen, wo die Autos stehen, damit Sie sie leicht abholen können, auch wenn dieses Beispiel 51 00:03:43,080 --> 00:03:47,870 ‫ein wenig fehlt ein bisschen von der restlichen Komplexität, die wir hier haben. 52 00:03:47,880 --> 00:03:53,070 ‫Aber vielleicht hilft Ihnen das, den Referenztyp etwas besser zu verstehen. 53 00:03:53,910 --> 00:03:54,450 ‫Gut. 54 00:03:54,510 --> 00:03:55,520 ‫Das war's für den Moment. 55 00:03:55,680 --> 00:03:56,730 ‫Kommen wir zurück zu Cody. 56 00:03:57,090 --> 00:03:58,020 ‫Wir sehen uns im nächsten Video.