[Playlisten] [Impressum und Datenschutzerklärung]

03.5.2 struct, Werttyp, Referenztyp, Teil 2


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

vordem dritten Tag sechzehn nochum den Texter gerade zu Ende zu machenwenn so eine Variable für eine Klassenur die Hausnummeristdann wieder spannend wenn ich diese Hausnummereine an eine Funktion übergebesich vor sie haben eine Funktiondieauf Meetings arbeiteter in FreudsF wenn ich sieMeetingX von mir aus und diese Funktion macht ?? ganz was blödes sie verschiebt einfach das Meeting was für deine Christaex post bauendannhundert vierunddreißigeine Funktion die kriegt ein Meetingund verschiebtdas Meetingfür normale Zahlenvariablenund Festpaktswürde ich hier eine Kopievon der Zahl kriegen oder eine Kopie von des Taktkriegendieses Dienstjahr dein Leben für sich es wäre eine eigeneSpeicherzellemit eigenen Wertenund hier würde ich dieses eigene Ding verändernund das Original würde nichts davon erfahrenihre Kopie ankommtanders aber schon gesehen bei den üblichen Funktionen in C wenn sie sowas haben wir niefreut?? immerKünstlergeben die Summe aus sowas haben Siesind XundYund dann addieren sie beideXPluszeichen Ysowas zum Beispiel und geben dann die Summe ausanihr wird eine lokale Kopie von X verändertdas etwas dann kommt das im Semester ankommt sind nicht die Variable mit Dennis aufgerufen habe sonderngetrennte neue Speicher stellen was ich hier machehat nichts mit den ungewöhnlichen Werten zu tunanders beidenKlassen bei Verweisen auf Klassendieses Ding was dann kommt ist ja nicht die eigentlicheInstanz mit allen ihren Daten was ankommt ist die Referenzein Verweis auf die Klassedann habe ich hier wieder deneigenwilligen EffektdieseFunktionficht die Hausnummerdie zu der Hausnummer und verlegtwas es der an der Hausnummer findet das ist aber das ursprüngliche Objektalso wenn ich sowas hier mache dieKomma kamhat somit ?? F vonübersehenseine ScanFvon Kwenn ich diesen Aufruf hier veranstaltendas wieder falschPunkt es ?? schonumgefährlich darum gibt es schon maldie Muster den heißenJ K L M heißt es im erstem diese Funktionsoso ein Aufruf ich rufe diese Funktion auf ?? gebe hier meine Hausnummerund dann wird die Funktionwieder dieInstanz verstellenauf die diese Hausnummer zeigtKawas jetzt aber steht sechsten zwanzigsterK steht auf den sechsten zwanzigsten jetzt führe ich diese Funktion ausund garzustellenund K zeigt auf densechsten fünftenich rufe meine Funktion auf mit einer Instanz von K und die Funktion geht jetzt Instanz rein und ändert was wenn das mit normalen Zahlen machen kann ich die Zahl geändert werden wieder übergeben wirdbei in Kopie ankommteinerKlasseüber eine Referenz auf ?? Klassekommt hier obeneine Kopie der Hausnummer an wenn sie wollen es kommt keine Kopie derDaten an der kompletten Daten eines kommt nur eine Kopie der Hausnummeran die Hausnummer ist aber die ursprüngliche von der Klasse das heißt diese Befehle wird tatsächlich die Originalinstanzder Klasseverändern und nichts anderesda muss man diesen bisschen gewöhnenKomma für den Lückentext Komma sechzehnKomma sogarBeispiel als wenn sie dieses haben ?? undMichels im Alphabet Karl denHändeninsInland zweiundvierzigdas ganzohne Frageeine normale Zahl einen Wertwenn Sie dieses ähmKopierengibt's eine zweiteSpeicherstellemit dem selben Wert die beiden Speicherstellen sind dann unabhängig voneinanderhabenwenn sie für dieses in eine Funktion aufrufen?? ich die Funktion eine Kopie vom Wert und kann ihr ähm nicht ändernwenn ich dagegenein neues Meeting bauen K L MN Ohabenin dieser Formund das Meeting heißtGlas und Extraktwenn ich das macheund diesesMeetingist hiermit an Punkt ?? ist hier mitClausdefiniert und ich mittagsdann ist dasein Referenztypzwangsläufigdas heißtwenn icheinenweitere Variablevon MeetingsbauerPoder so zuweisedann wird die Referenz zugewiesenes wird nicht das Glanz ganz Objekt kopiertes wird nur die Hausnummer kopiertein wesentlicherReferenztypsind gemäßwenn Sie ein Gerät bauen wenn ich jetzt OP?? wenn sie ein Gerät bauen?? okay Punkt ein Regal für ?? vierganze Zahlenist dasüberraschenderweiseauch ein Referenztypdas heißt wenn zum Beispiel wenn Sie dieses Essays an eine Funktion übergebenkann die Funktion im RL rum stellendas haben wir schon in C gesehendenn in C waren RS eigentlich die Namen von Iris auch Zeigerauf das erste Element insofernSinndesselben ähnliches Verhalten in Calso wenn sie Kuh durch die Gegend reicheneine Funktion weitergebenoder jemand anderen zuweisendann haben Sie diesesoriginaleFAund kein zweitesdenPreisfür euch das malvorKomma ich setze einfach mal vonvon soundsoviel Q von zwei auf dreizehn??und weise mal zuein neues ?? seikein neues RE eine neue Variablevon dem TypTreffen indischerHerrauf diese Weiseund jetzt will ich Buffon zweimal umund gucke was in R passiertimmer dahinhier habe ich ein neues GerätEintrag Nummer zwei bis dreizehnich vom ich nehmedie Präferenz auf diese ?? namens Kuhnin eine neue Variable von dem Typ sie sehen am Anfang steht der auf null das gab's auch schonin zehnder Prozentsatzwar groß geschrieben in UML groß geschrieben in Java und in sich haben als S nullklein geschrieben und zu sagen es gibt noch keinen Verweis hier drin das verweist auf nichtsich habe keine Hausnummer ?? auch nicht die HausnummerNull als Zahl sondern ich habe keine Hausnummer dafür steht dieses null dann in allenjetzt kommt die Zuweisungim nächsten Schrittokay in er steht jetzt tatsächlich ein Verweis auf das Trainingund es ist eine derselbe rechtliche oben es ist einRegal gebaut worden ein Regal mit vier Fächern für Interviewsdieses erweiß auch wieder nur wo das Regal stets in welcher Etagelinks oder rechts in welchem ZimmerDessert ist nicht eine komplette Kopie des Regals sieht man es bei dem nächsten bin ich in Q den zweiten Eintrag auf zweiundvierzig einenguten zweiten Antrag auf zweiundvierzigeinbisschen Kohle durch die zweit vierzig drinmit jetzt bei ?? guckenist auch da die zwei verzichtenals bei weiß dasselbedieses Ding gibt's nur einmal im Speichereinmalhabe ich mir die Hausmarke merken wir den Namen Q und einmal habe ich die Hausnummer gemerkt unter den nahm ergenaueshängt also immer vom Typ ab die man gerade baut ein Meeting ist eine Klassewird automatisch in Referenztypdes die sie merken sich als sie merken sich das System merkt sich nur die Hausnummerneine Zahlisteine Zahl bleibt ein Werttypgibt Möglichkeiten das anders zu machen ?? jetztgar nicht erwähnt ?? typischerweiseneunundneunzig Komma neun Prozentsind die Zahlenwerttypenin ganz anders das heißt wenn sie die zuweisen haben sie eine neueKopie gebaut von der Zahlähmund diese jetzt schwarzdie verhalten sich wie die Zahlenes kommt also auf den Typ tatsächlich habe ich ein Referenztypeine klasseInstanz einer Klasse oder habe ich ein Werttyppraktisch alles anund je nachdem das Verhalten verschiedeneineGeschichtebezichtigte zu diesemHaring Themavergleicheganzübel was passiert wenn ich jetzt vergleiche wenn sie zwei Zahlen vergleichenwieder kommen sie auf den beiden derselbe Wert drin stehtwenn sie zweiDetails vergleichenPunkt sie hoffentlich auch des Ebbe Zeitpunkt istein Thema für sich ?? aber wenn ich zweiInstanzen von Klassen vergleiche dann kann es kompliziert werdenKommaaber noch mal ein neues MeetingP Q R SAhnung von drei StundenPunkt schongar nicht sollte doch ?? lassen Zeitungen schon Auslassungszeichennehmen AugenBecksteinwurdenichmeine sinnvolle Textgrenztdas manifeste Detailan das Produkt sollte erst nachdenken und dann schreibenich brauche mal eine DecksteinFigurist die beste SucheistTeil meines?? nicht Welt-Aids-Tagähm Punktsinnvolles nehmen den wiederso ein neuesMeeting bauen aktuelle Zeitwie lang soll sein Times beendenPunktGordonminute von mir aus neunzig Minuten soll seinund es soll irgend einen dummen Titel habensound ich baue noch ein Meetingdas doch verdammt ähnlich aussiehtmit denselben Daten drinjetzt kommtes einzig keine Überraschung wenn man zwei Minuten nachdenkt ist es eines keine Überraschung was jetzt passiertfür Klassenschreibe ich im allgemeinenhabe ichschoneins Punkt??ist gleichwaswird diese Zeile ausgeführtoder nicht?? muss das an ich setz man weg Punkt auf die bis auf den Vergleichnunder spannende Momentübersprungengeht nicht rein es ist nicht gleich obendas ist am Anfang total irritierend ich weißamgucken sich an Wasser steht wortwörtlich nimmt es wirklich Beistrich was versteht es wieder ein neues Meeting gebautund dessen Hausnummer landet in esunter ?? noch ein neues Mittel Klammer aufdass er dieselben Daten wie das davoraber dessen Hausnummer muss eine andere SEINEN ist ein neues Meetinggelandet in UA sind die beiden Hausnummern nicht gleichwas hier verglichen wird sind dieReferenzen die Hausnummern es sind zweieigenständigeObjektemit denselben Daten drindie kaufen dasselbe Auto zweimalist es blau hat vier Räder was auch immer Sie kaufen dasselbe Auto zweimalaber das sind zweiverschiedene Autos in diesem Sinnesind zwei verschiedene Objekteverschiedene Hausnummerhätten sie das noch mal aufmachen was da passiertnuneine neue Mieterin gebautin der ersten Zeilemirund dannwird noch ein Meeting gebaut??ein zweites Meetingich hab die Variable es die sich merktan welcher Stelle das erste Meeting stehtdie Variable gut sich merken welcher Stelle das zweite Meeting stehtund das ist die Hausnummer zehn tausend soundsoviel und das ist die Hausnummer vierzig tausend soundsovieldiese beiden Hausnummern sind nicht diesem Haus Komma auch wenn in den beiden Meetings exakt dasselbe drin stehtdenen ich unter der selben Hausnummerandas wäre für sicher noch relativ einfach hinzukriegenwenn das grundsätzlich so wäre wenn siezweiInstanzeneiner Klasse haben und vergleichen die wenn das immer so wäre das dieses gleich gleicheinfach nur sagt tatsächlich ein und dieselbe Instanz ist ??sowas machen obgleich eseines ein und dieselbe Instanzsind dieselben Hausnummernund der muss sie reingehengesehenich bin darin was funktionell also tatsächlich vergleicht die Hausnummern der Vergleich nicht die Wertedes ?? ist jetztwenn sie die Klasse richtig bauenAnfangszeichen richtig bauenkönnen Sie dafür sorgen dass dieses gleich gleichdie Werte vergleichtdas heißt je nach Klasseist dieses gleich gleichVergleich der Hausnummern der Referenzen oder ein Vergleich der Inhaltedas ist tückischzwei ?? Dellen an diesem Spiel sind typischdie erste Stelle durch die tückisch ist das man sich klarmachen mussob das was man da verwendet eines Paktes oder eine Class ist das Verhalten mit Andersseinsnach dem ob sein zweit oder ein Glas istund die andere tückische Stelle ist diese hier wenn sie gleich gleich schreibenkann das bedeutenPrüfer die Hausnummern gleich sind oder ungleich schüchternes analoges ?? aus gleichan ein Vergleich auf die Hausnummerngleich oder ungleich sind sieht es wirklich dieselben Instanzenein dass er bedingteine Möglichkeitaber wenn die Klasse bisschen komplizierter gebaut ist ist dieses hier beglichen vergleicheInhaltewarendas habe zum Beispiel bei den Screeningsebenso gebauterCSWasserfrauweiterähm eine ZeichenketteTestsund eine weitere ZeichenketteU VWwarich es auch Test nennenund unvergleichlichschon tausendmal gemachtkeine Überraschung was passiert der gehtin das F reinweilStringetwas komplizierter gebaut ist sodass dieses gleich gleich tatsächlich nicht nur Hausmann voneinmalSchatten das aber nachzuvollziehenund da bin ich drin als dieser String ist das Handy gleich demhabenda funktioniert das gleich gleichanderskommenPunkt das ist eher ungeschickt je komplizierterdie Klassen sinddesto mehr muss man aufpassenes sollte eigentlich nicht sein an die komplizierter die Klassen sind umsobesser wäre es eigentlich wenn man diesen ist gleich gleich nicht überraschend baut ist gleich gleich für alles was mit Klassen ist aber die Hausmann vergleicht die Referenzen vergleicht aber nicht die Inhalte Vergleichden bei den Springsganz dreist vergleicht er die Inhalteund wenn jemandeine Klasse raffiniert baut kann die so gebaut sein das der zehntens Gleichzeichen?? ?? Komma die beidenspannenden Punkte als beim spannenden Punkte sindwenn sie sowas haben weder Time Touchpenoder Meetingmüsse erst gucken ist das eines Trakt und es ist eine Klasseje nachdem verhält sich das hier anderses werden Referenzen gespeichert oder echte Werte gespeichertundwenn sie gleich gleichmachenandassieja je nachdem was man da gerade hatwird es hier tatsächlich die Inhalte vergleichen oder wird die Hausnummern vergleichen ab Werk wird es die Hausnummern vergleichenaußer meist Linksfuß ab Werk schon die Inhalte Vergleichdas istein allgemeines Ärgernis in den neueren Sprachen