Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
Grundlagen d. Informatik u. Programmierung 2: 2.1 Objektorientierte Progr. – Motivation (SoSe 2020)
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 219 Zeilen
- [Musik] doch zusammen wir starten in die objektorientierte programmierung und das
- tun wir mit einem sehr technischen video diejenigen unter ihnen die schon ein klein wenig länger objektorientiert unterwegs sind können das video getrost
- überspringen wenn sie nochmal eine auffrischung haben und gucken sie vielleicht mal rein falls sie noch nichts in diese richtung
- gemacht haben und die zeit entbehren können ja zugegeben es ist ein bisschen länger geworden gucken sie sich mal in ruhe an es ist
- wahrscheinlich etwas anstrengend zu gucken ich versuche mit kapitel marken etwas zu untergehen dann und zugegeben es war
- auch anstrengender aufzunehmen das war noch ein paar fehler in den folien ich habe tatsächlich mehrmals schon ein müssen mal gucken wir mal wie gesagt
- wenn sie die zeit entbehren können gucken sie noch mal rein ihr machen tatsächlich eine reise von ich habe um sortierten unstrukturiert speicher und
- arbeitet damit irgendwie über ich habe datenstrukturen dann über ich habe datenstrukturen plus funktionen die einheitlich auf den datenstrukturen
- arbeiten dann waren wir uns noch ein container drumherum und dann sind wir tatsächlich an einer stelle wie das nachher mit klassen in
- der objektorientierten programmierung funktioniert aber fangen wir vorne an das ist unser programm rahmen mit dem bearbeiten wollen wir haben drei globale
- variablen data data protection und count das klingt schon mal so ein kleines bisschen als wohl über daten auf sammeln und dann passiert in der men funktion
- folgendes wir holen uns mit bullock speicher 100 x 96 bald und speichern das in data und dann speichern wir uns auch noch als die data position
- das ist unser blog speichern jedes kästchen ist ein byte und davon haben wir 16 in einer zeile und davon dann natürlich mehrere zeilen die einzelnen
- zellen sind hexadezimal nummeriert zur orientierung auf der letzten stelle von null bis f 16 stück und dann in zeilen mit dem präfix
- beginnt bei doppelnull nächste zeile natürlich 0 1 0 2 0 3 und so weiter und wenn wir uns diese speicherstelle angucken dann hat die
- fast die adresse lassen was erstmal dabei die adresse 014 hexadezimal die adresse ist nicht ganz wichtig dieser ganze block speicher wird ja irgendwo
- starten und das was hier steht im endeffekt ist das offset gemessen von diesem startpunkt ist mir für dieses beispiel unwichtig nur weil es genau
- wissen möchten hier stehen eigentlich die aufsetzte an okay was passiert jetzt mit dem kot beispiel von vorhin wenn wir zeile sechs
- ausführen den bärlauch 100 x 96 bekommen wir tatsächlich speicher in die hand den dunkelgrauen zur orientierung hier an dieser stelle enden 96 und davon geht es
- natürlich hier unten noch deutlich weiter 100 mal so viel bekommen wir dann kommt seine sieben das speichern wir uns die date up position gleich data was
- hier in der visualisierung einfach nur eine kleine markierung ist um diese erste speicherstelle und zwar um genau die adresse des speichers den
- wiederbekommen wie geht es weiter irgendwo steht in unserem code folgendes wir machen einen cast auf die data position machen daraus ein pointer auf
- eine anzahl integer der referenzieren uns den nehmen also tatsächlich den entega in die hand und schreiben da diese zahlreich dann
- addieren wir zur data position etwas und speichern uns den wert direkt wieder in der data position was addieren wir darauf die größe eines anzahl und inters
- danach passiert folgendes an die neue data position kopieren wir uns den string jane und erhöhen die date up position wieder diesmal um 46
- anschließend kopieren wir wieder einen string das hier und zwar den string appleseed an die neue data position und an ihren wieder 46 und machen dann ein
- instrument auf die variable account was könnte das sein hintergrund von diesem code der ist völlig fiktiv aber er tut so als
- beispiel hintergrund von diesem code ist ich schreibe eine studentin ein und zwar in dem code block der für das modul studierendensekretariat zuständig ist
- was passiert in speicher da ist er wieder unser blockierter speichern und wenn wir uns dann die zeile 21 angucken steht da ein cast und zwar in
- kaarst der adresse data position in einen anzahl und integer pointer das heißt diese ersten vier werden uminterpretiert in einem zeiger auf
- einen tisch das ganze wird also weiter ich differenziere mädels krieger also ein entweder in die hand und schreibe dann anschließend die zahl an dieser
- stelle danach in kommentiere ich die data position um die breite dieses anzahl ins und die markierung rutscht hierhin
- dann kommt seine 24 ich kopiere den string jane an die stelle die durch die top position bezeichnet wird dass sie dem speicher dann so aus wichtig der
- terminator wird natürlich auch reinkopiert ich kopiere ja eine zeichenkette landvolk zeile 25 an ihre 46 auf die date up position und die
- markierung rutscht an eine neue stelle 46 später hierhin 227 wieder einen string copy ich kopiere den string appleseed an den durch die opposition
- bezeichnete stelle taucht da in einzelnen zeichen natürlich des trink appleseed auf wieder mit dem terminator ich an ihre 46 zumal alter positionen zu
- 28 und die markierung steht hier und wenn sie da genau hingucken steht die markierung jetzt am beginn des nächsten blogs von 96 beim also wahrscheinlich im
- speicher der für den nächsten studierenden für die nächste studierenden vorgesehen ist was passiert jetzt den code ein student
- wechselt die prüfungs ordnung und dafür ist jetzt das softwaremodul prüfungsamt zuständig das hat offensichtlich jemand anderes geschrieben
- der kurze ähnlich folgendermaßen aus wieder ein cast auf die dritte position 1 kerstin eine anzahl in ponte mit dem differenzieren und ich schreibe eine
- neue matrikelnummer dahin jetzt wird's anderen data position wird um vier erhöht um dann anschließend 2c zeichenketten anzulegen die erste john
- in die variable festnahmen die nächste duo in die variable last night danach folgt doppeltes string kopie einmal an die positionen der
- top-position den festnahmen und einmal an die position data position +46 den maßnahmen um anschließend zu der tat position 92 zu addieren und count
- wiederum zu implementieren das gucken uns auf dem speicher da stehen wir jetzt an der stelle 0 60 da haben wir die date up position
- vorhin liegen lassen und machen dann weiter mit im prüfungsordnung wechsel zeile 41 der bereits bekannte kaarst auf den anzahl
- an integer pointer und das wäre für erzieherin soll ich da fühlen sich diese vier beides gleichzeitig in die hand nehmen kann
- und da dann natürlich an matrikelnummer anschreiben kann anschließend das inkrementell auf die markierung data position 4 bei zweiter dann steht sie
- hier jetzt werden lokal in der funktion zwei zeichenketten angelegt in der zeile 44 und 45 einmal john mama da passiert hier
- in dem speicher noch nichts interessant werden die zahlen 47 und 48 47 kopiert festnahme also im endeffekt dass john an die position die durch die
- opposition bezeichnet wird damit landet der john hier und 248 kopiert den nachnamen also du an die stelle der top position +46 wichtig die
- markierung bleibt hier stehen aber die zeichenkette doe materialisiert sich hier 46 später danach werden 92 bereits auf die dritte position addiert und ich
- stehe wieder am beginn eines nächsten studierenden an der nächsten studierenden ins nächste softwaremodul ein austausch student kommt im modul
- international office ich habe wieder ein cast auf den anzahl integer pointer mit der differenzierung und kann dann da wenn matrikelnummer eingeben wir glauben
- demnächst liest sich das für sie wahrscheinlich relativ flüssig jetzt kommt ich mache jetzt einen string kopie auf die data position +4 von jay random
- ein bisschen erfahrung aus den vorherigen codes ist das wahrscheinlich wieder der vorname und dann kommt ein string copy data position +50 diesmal
- der nachname ist jugend und dann wie gehabt data position wird erhöht diesmal um 96 bei count wird implementiert guck mal wieder auf den speicher das ist
- ein blog speicher wie wir ihn vorhin zurückgelassen haben mit der markierung für die data position an der stelle 0 10 0
- da stehen war seine 61 der altbekannte cast mit der zuweisung hinter der matrikelnummer erst der cast mit der differenzierung macht das feld breiter
- und ich schreibe jetzt die matrikelnummer neuen canon war alles schon dieses mal wird jetzt diese rote
- markierung nicht verschoben sie steht immer noch in der stelle 0 10 0 und ich mache das trinken auf der top-position +4 und kriege den g-punkt
- random string natürlich an dieser stelle anschließend sollte 63 data position +50 erhält durch das string kopie die zeichenkette stewart und die steht hier
- an dieser stelle anschließend zahle 65 data position plus gleich 96 verschiebt mir die markierung hier hin und wieder seine 66 natürlich cloos + sound was wir
- bei in diesem speicher xi okay das nächste softwaremodul ich möchte eine prüfungs liste erstellen das ist natürlich aufgabe der
- prüfungsverwaltung und da finde ich hier erst mal eine vor schleife die beginnt bei ii gleich null und läuft so lange wie kleiner ist als count deshalb habe
- ich dass er die ganze zeit mitgezählt um zu wissen wie viele studieren überhaupt eingeschrieben sind und zählt natürlich bei jedem durchlauf das hoch und zur
- übersicht an ändern ist jeden zum schlafen durchlaufs kriege ich an zeilen wechsel auf den bildschirm gelockt so was passiert jetzt wirklich bei jedem
- durchlauf als erstes mache ich nach ausgabe einer dezimalzahlen welche dezimalzahlen gebe ich aus naja die dezimalzahlen jetzt muss ich ein
- bisschen lesen die dezimalzahlen die an der speicherstelle data plus 1 96 licht okay ein student eine studentin ist 96 bereits bereit
- davon bin ich ihm schritte weit gegangen und habe beim data begonnen okay an am anfang findet jeweils die matrikelnummer das ist eine anzahl
- integer hier steht zeiger deshalb der mühsame kaarst auf den zeiger mit anschließender die referenzierung also gebe ich hier an dieser stelle die
- matrikel machen was danach kommt eine schleife die über jcs und zwar bot so lange hoch zählt wie j kleiner ist als 2 ein bisschen schlafen hinsehen sieht man
- die schlag verläuft also zweimal ich mache zwei ausgaben zwei ausgaben mit prof jeweils von einem string jetzt wird es mühsam
- ich beginne wieder bei data springe die studenten dann setzte weiter das war die matrikelnummer die ich überspringe
- + j x 46 also gucke ich mir hier wahrscheinlich die beiden strings an die ich dann ausgeben einmal den vornamen einmal den
- nachnamen und jetzt habe ich sie eigentlich schon verraten wenn wir auf die ausgabe gucken was werden wir wohl erhalten
- genau das was wir vorher auch eingetragen haben wir kriegen der prüfungs liste für den fiktiven 1991 er jahrgang dieser hochschulen etwas mühsam
- oder liegt einfach daran weil wir auf völlig rohren speicher arbeiten und uns die jeweiligen stellen an denen wir arbeiten wollen
- über cast in die passenden datenformate umbauen außerdem mühsam weil offensichtlich mehrere leute unterschiedlichen code
- geschrieben haben unterschiedlich auf die daten zugegriffen haben und von hier an kann ist aber glücklicherweise nur besser werden
- wir machen schrittweise übersichtlicher und ganz am ende landen wird bei der idee der objektorientierten programmierung gucken wir weiter
- ein kleiner haufen code jetzt haben wir datenstrukturen und können einen studenten eine studentin in einen solchen datenstruktur zusammenfassen und
- beschreiben wir haben nämlich in einem studenten datensatz erst eine matrikelnummer und dann den vornamen und den nachnamen
- und jetzt werden wir auch ein bisschen schlauer was diese 46 bedeutet vorname und nachname sind jedes mal 46 breit wichtig dass 46 bei den extremfall ist
- der terminator also haben wir hier 45 nutzten das haben wir dann ja wieder 23 globale variablen einmal den data pointer diesmal auf
- studenten der mit neue oder dem nahen ponto initialisiert wird dann haben wir gespeichert die date up russischen das wird wahrscheinlich die markierung seien
- von vorhin die erstmal auch auf den reporter gesetzt wird und dann haben wir hier in der variable count 0 studierende eingeschrieben
- alles noch beim alten gebieten einzige änderungen wir verwalten studierende jetzt in einer datenstruktur weitergeht sein code wir kommen in die
- mail funktion was passiert hier wir holen uns hier wieder über meer lockt 100 datensätzen speicher diesmal aber nicht ausgeschrieben 100 x 96 byd
- sondern hundert mal die größe die ein studierenden datensatz im hat dass carsten wir uns dann in einem pointer auf einen studenten und speichern uns
- das in der globalen variable data und wir setzen dann anschließend die markierung beta position auf genau diese stelle wo der speicher beginnt und da
- wir jetzt hier auch wieder speicher holen dürfen wir natürlich ganz am ende das tri nicht vergessen wir wollen ja keine memory leaks fragen wir
- fabrizieren okay wie sieht das im speicher aus gleiches prinzip wie vorher 16 bald in einer zeile wird zahlen untereinander und wir beginnen bei dem
- offset 000 mit der allerersten speicherstelle und finden dann hinterher aufgezählt und hier oben spalt und weise um zeilenweise
- durchnummeriert unsere einzelnen bei 10 211 passiert folgendes wir wollen uns mit dem marlok 100 mal die größe an speicher die einst truck cdu und annimmt
- und haben dann eigentlich noch genau das gleiche bild wie vorher einziger unterschied an dieser markierung steht jetzt nicht mehr nur 96
- bayern so wie es vorher war sondern zur erinnerung das ist die größe des traktes juden das wird also etwas lesbarer insgesamt dann kommt der cast auf dienst
- juden pointer der vor den block steht und durch den cast wird alles bunt was bedeutet es dass es bunt wird wir machen jetzt aus dem pointer aus dem pointer
- den wir aus dem loch kriegen der überhaupt kein typ hat natürlich im winter ist aber der nicht einen speziellen datentyp bezeichnet nun ein
- pointer der auf 1 jugend zeigt und damit kriegen wir automatisch zumindest können wir so denken unterteilung des speichers innen die drei blöcke die instruktorin
- stehen grün die matrikelnummer diese blass violett den vornamen und blass türkis den nachnamen das heißt unser speicher wird automatisch strukturiert
- weil wir auf die felder des trakts zugreifen können und dann sprechen wir uns in zeile 25 die data position die positionen der aktuelle studenten bevor
- schreiben wollen steht und die markierung ist so groß die zeigt nämlich auf den gesamten studenten denen wir voll schreiben können ja wichtig der
- beginnt an der stelle 000 deshalb ist die obere ecke hier die markierung wenn wir die am nt referenzieren beinhaltet das gesamtes
- trakt was wir jetzt über einzelne felder auf aber zugreifen können wie geht's weiter
- jetzt können wir wieder unsere studenten einschreiben und zwar unsere studentin jennifer sieht wie machen wir das mit dem structured wir legen uns einfach
- einst jugend s1 an initialisieren den direkt mit matrikelnummer vorname und nachname wir können jetzt auf die felder zu greifen und können dann sagen an der
- stelle data position befindet sich offensichtlich einst juni also die referenzieren wir den zeigern und schreiben da unsere erste studentin rein
- dann können wir die top position um einen hoch zählen was passiert zur änderung pointer arithmetik ein einfaches instrument erhöht um so viele
- wie der bezeichnete datensatz groß ist daher funktioniert es einfach mit dem einfachen plus plus an dieser stelle falls sie sich nicht mehr ganz genau
- daran erinnern konnten sie sich bitte die entsprechenden folien aus dem vergangenen semester noch mal ran da steht etwas genauer erklärt drin
- seine 25 wie üblich ich habe meine studenten eingeschrieben also sollte merken dass ich jetzt eine mehr in meinem datensatz habe in meiner
- datenbank was passiert im speicher zeile 21 sehe ich an dieser stelle nicht das ist lediglich eine lokale variable lokale instanz dieser datenstruktur in
- der die daten abgelegt werden interessant hier für diesen speicher ist seine 22 an der tatsächlich das s1 an die durch die opposition bezeichnete
- stelle gelegt wird und durch diese zuweisung wird feld für feld tatsächlich der inhalt von s1 in den bezeichneten speicher übertragen also zuerst die
- matrikelnummer dann der vorname und dann danach nahmen dann in zeile 24 kompliment auf die labour opposition und die markierung diese hier rutscht genau
- einen studierenden datensatz weiter nach hinten im speicher nächste software-module student wechselt die prüfungs ordnung wir sind also
- wieder ein softwaremodul prüfungsamt und wenn wir uns den code angucken sie der noch sehr aus wie im beispiel vorher wir haben immer noch den cast der
- opposition mit dem der referenzieren zusammen in einer zeit integer verwandelt und ich schwarze die matrikelnummer direkter rein dann folgen
- zwei string copies die auch wieder im endeffekt mit einem zeiger arbeiten ich mache mir aus der data position eine zeichenkette anzeige auf eine
- zeichenkette radieren natürlich dann noch vier drauf weil ich ja den ersten integer überspringen muss schreibt da den vornamen rhein gleich jetzt mache
- ich in 10 43 mit der data position wieder eine zeichenkette draus machen vier dazu um die matrikelnummer zu überspringen 46 dazu und den vornamen zu
- überspringen und dann schreibe ich den nachnamen doral also hier an der stelle hat der programmierer noch nichts von den datenstrukturen gewusst sich darauf
- verlassen dass die größen alle noch stimmen oder noch schlimmer er wusste zwar dass die datenstrukturen da sind hat sich aber gedacht neumodisches zeug
- weil es viel zu langsam ich arbeite nach wie vor auf dem speicher weil ich weiß es ja besser naja dann hinterher zumindest
- akzeptierte dass es data position gibt in der form dass das eigentlich nicht juden potter ist also zumindest dieses instrument deutet darauf hin dass er von
- den datenstrukturen gehört hat und jetzt wird's richtig schön account wird nicht in kommentiert sondern neu berechnet und zwar aus der date up position - data
- also aktuelle neue position - anfang zur erinnerung wieder pointer arithmetik ich kriege hier die anzahl der datensätze raus die dazwischen es und kriegt dann
- tatsächlich live berechnet die anzahl der eingeschriebenen studierenden etwas mühsam aber gut gucken wir den speichern
- gleiches prinzip ich stehe an einen neuen studierenden datensatz dieser beginnt wieder bei 0 60 im speicher er ist markiert und er ist
- strukturiert in die einzelnen felder zahl 41 das kennen wir schon die delta positionen wird gecastet in einem zeiger
- auf eine anzeige in der wird er referenziert und genau an die erste markierte stelle das grüne feld wird die matrikelnummer geschrieben
- 4 bei später in zeile 42 wird über den string kopie der vorname john geschrieben zahle 43 jetzt muss man ein bisschen rechnen von hier angefangen
- vier byd weiter +46 bald weiter an diese stelle wird danach nahm geschrieben dann rückt die data position genau einen datensatz weiter landet also hier und
- live wird jetzt berechnet wie weit ist diese ecke vom beginn des reservierten speicher blogs weg und zwar wie weit gemessen in studenten datensätzen ist
- also mein neuer account die daten stehen so wie sie sollen der code war etwas schwierig lesbar aber wir haben ja noch ein paar mal gucken
- also weiter ein austausch student kommt im international office salopp auf den code geguckt aber zumindest mit datenstrukturen gearbeitet da wird sogar
- tatsächlich mit den einzelnen feldern gearbeitet es wird kein student als gesamt student angelegt aber zumindest wird in die id
- der aktuell bezeichneten data position also das aktuelle bezeichneten studenten die matrikelnummer geschrieben in den vornamen wird der vorname reinkopiert in
- den nachnamen wird der nachname reinkopiert jetzt bin ich gespannt was passiert count wird hoch gezählt okay wir haben
- ein student mehr angeschrieben die data position wird aber neu berechnet aus beginn des speicher blogs plus count wieder eine neue variante
- aber ich komme zumindest an die richtige stelle so sieht der speicher aus die date up position ist markiert an der stelle 0 10
- 0 das ist diese ecke wir können uns um zahler 61 kümmern da wird in das feld id die matrikelnummer reingeschrieben da
- stets seine 62 kopiert in den vornamen den vornamen jay konkurrenten und zahle 63 kopiert in den nachnamen den nachnamens jugend da steht er wunderbar
- seine 65 in kommentiert den count wir haben anschließend also einen datensatz mehr als vorher und dementsprechend springt ins alle 66 die opposition bei
- der berechnung data plus count einen datensatz weiter nämlich genau hierhin was kommt jetzt wir wollen nach wie vor die prüfungs
- liste erstellen mit der prüfungsverwaltung wir haben wieder die vorschläge die über count datensätze geht diesmal sieht die aufgabe aber
- etwas intuitiver aus ich gebe nämlich innerhalb einer print f anweisung eine dezimalzahlen und zwei strings aus danach kommt der zahlen wechseln und in
- die einzelnen platzhalter schreibe ich vom aktuellen datensatz die den vornamen und dann den nachnamen und dann habe ich schon deutlich aufgeräumter und co
- wie sieht die ausgabe auswählt verwundert eigentlich ganz genauso wie vorher da steht sie
- ein noch kleinerer haufen code und wir sind jetzt fast tatsächlich bei einem eigenen container datentyp aber noch nicht ganz
- wir haben immer noch unseren studenten datensatz als datenstruktur mit einer id mit dem vornamen und mit einem nachnamen wie initialisieren und die data immer
- noch auf den konter das ist der beginn nachher wieder meiner datenbank und ich habe lediglich ein account der natürlich auch mit null
- anfängt was ist jetzt neu und was führt uns fast zu den container datentyp wir bauen uns diesmal eine funktion indische live data
- die als parameter aufnimmt wie viele datensätze ich bauen möchte und die dann die initialisierung mit dem barock vornimmt
- das kennen wir schon die zeile ist jetzt allerdings in eine eigene funktion gerutscht und diese funktion kann mir jetzt am ende bescheid sagen ob der mel
- ob hier oben erfolgreich war immer dann wenn ich von den männern null pointer zurück bekommen wir nicht genug speicher da das kann nicht prüfen und
- das kam mir die funktion über den rückgabe wert jedem rock am pool mitteilen dann gibt es weitere funktionen auch wieder im globalen scope
- eine digi data die das free macht und zur sicherheit auch die anzahl der eingeschriebenen studierenden auf dem google setzt also eigentlich genau das
- was passiert schmeißer alle daten weg und merke dir dass du keinen mehr eingeschrieben hast und dann gibt es weitere funktionen eine n roll funktion
- die eine information aufnimmt welcher student jetzt eingeschrieben werden soll und den dann an eine bestimmte stelle schreibt nämlich an die position count
- in der datenbank data schreibt diese funktionen den übergebenen studenten die übergebene studenten rein und erhöht den zähler erhöht also den
- mitschnitt wie viele studenten eingeschrieben wollen und anschließend gibt es noch eine funktion bei der ich fragen kann wie viel studenten gibt es
- denn in der datenbank und die letzte funktion im globalen scope die noch nicht die mail funktion ist es dann eine funktion die mir den aktuellen studenten
- bezeichnet durch das ausdruckt mit genau der zeile die wir von vorhin kennen warum hilft mir das in funktion ist nun deutlich aufgeräumter
- sie ist wesentlich sprechender geworden gucken uns das an an dieser stelle schreibe ich ganz klar hin dass ich 100 datensätze
- initialisieren möchte und am ende schreibe ich auch wieder eindeutig sehr sprechend hin dass ich die daten alle löschen möchte dass man sich nun mit den
- anderen funktionen machen kann ist ich schreibe im studierendensekretariat nach wie vor meine studenten jane appleseed ein diesmal aber mit der funktion n roll
- gleiches tue ich im modul prüfungsamt für den studenten jondo ich kann auch wieder die funktionen nutzen um ihn einzuschreiben und kann im international
- office mein austauschstudenten james jugend ebenfalls über die andere funktion ein schreiben und habe nicht in allen drei modulen die eigentlich alle
- das gleiche tun unterschiedliche funktionsweisen implementiert weil ich meinen ganzen applikations logik kurzum ein schreiben
- von studierenden in diese funktion reingepackt habe und ich die jetzt nutzen kann dann muss ich den nur an einer stelle
- schreiben und kommen nicht in versuchung den an drei stellen auf vier verschiedene weisen auszubeuten gleiches gilt für die erstellung der
- prüfungs liste ich habe wieder eine schleife über alle studierenden und gäbe dann immer noch auf das print jugendhaus um mir alle informationen zum bemalen
- studenten zu den studenten dann bild schon auszugeben und hier wieder wie sieht meine ausgabe aus es sollte keinen verwundern dass es
- genau das gleiche ist was ich vorher auch schon mehrfach hatte immer noch einen kleinen schritt weiter eine übersichtlichere haufen code jetzt
- mit einem eigenen container datentyp immer noch nicht mit allen werkzeugen die uns die objektorientierte programmierung zur verfügung stellt aber
- zumindest das nachgebildet was nachher c++ automatisch mit liefert dieses trakt ist bekannt für diesen tag gibt es jetzt aber ein weiteres trakt nämlich die
- students liszt und das ist jetzt mein container datentyp auch das sollte ausgibt 1 bekannt sein es ist einfach ein dynamisches array an dieser stelle
- wir haben irgendwann fällt was den beginn der laden bezeichnet und ein zähler der mit zählt wie viele datensätze dann schon drin sind ja also
- müsste noch die kapazität mit dazu liefert in diesem beispiel einfach mal unter dem tisch was haben wir dann die funktion indische live data heißt ein
- bisschen anders construct juden sliz da ist sie jetzt möchte weil immer noch wissen wie viele datensätze ich den platz haben möchte
- zuerst legt sie mir tatsächlich die students list an schreibt dann da rein wo der speicher anfängt und reserviert diesen speicher setzt den zähler erst
- mal auf null und gibt mir anschließend die ersteller des südens liste zurück dazu gibt's das kondom was dieses tool ist wiederum zerstört die jeweiliges
- jugend listig abbauen möchte muss ich gar zeiger übergeben darauf wird automatisch entry aufgerufen nicht ganz auf diesen zeiger aber auf
- den daten die da drin stehen so sicherheit für dieser daten zeigen dass den alb runter gesetz und die menge der eingeschriebenen studierenden wird auf
- null geschrieben und dann gibt es natürlich auch wieder die methode oder die funktion an dieser stelle noch n roll die als parameter natürlich wieder
- den studenten die studentin übernimmt aber zusätzlich noch die info darüber in welche students list dieser student diese studenten eingeschrieben werden
- soll und und passiert eigentlich genau das was vorher auch schon der fall war nur eben nicht direkt auf den daten sondern auf den daten der students lässt
- aber ich glaube auch das ist an dieser stelle halbwegs lesbar die beiden weiteren funktionen namens und kunst juden kennen sie eigentlich schon vorher
- deshalb habe ich beide schon aufgeblättert einzige änderungen genau wie vorhin die jeweilige students list muss mit angegeben werden
- einmal bei der landjugend und einmal weil im prinz teams und der rest funktioniert eigentlich genauso wie vorher nur das jeweils in dieser studios
- lässt nachgeguckt wird wie viele wie den haben oder welcher student denn nur gemeint dass die mail funktion ist jetzt noch mal deutlich sprechen
- ich lege mir am anfang eines tunes list an nenne die der einfachheit halber in rust jugend das reicht für dieses beispiel das sind nur die
- eingeschriebenen studierenden ich mache ihnen nicht mehrere studiengänge oder sonst was und konstruieren mir eine studentin
- liste mit 100 einträgen oder mit einer kapazität von maximal 100 einträgen und ganz am ende des programms zerstöre ich die wieder dauer power also mein
- speicher wieder ab was mache ich dann wenn ich eine studentin ein schreiben möchte unsere allseits bekannte denn apple sieht mache ich das wieder mit der
- n roll funktion die bekommt jetzt allerdings als erster parameter tatsächlich die adresse der liste von studierenden die igp arbeiten möchte und
- dann kommt der studenten datensatz wein und gleiches passiert beim wechseln der prüfungs ordnung im modul prüfungsamt auch da n roll in die liste ein rolls
- teams über die adresse angegeben diesen studenten hier und dritter punkt der austauschstudent kommt auch wieder die funktion n roll wieder auf der
- adresse der studierenden die eingeschrieben sind da hänge ich einen dran nämlich diesen studenten und will ich das ganze ausgeben möchte um mir
- dann hinterher am ende des semesters prüfungs liste zu generieren sieht eigentlich so aus wie vorher auch einzige änderungen beim künstler jugend
- ich gebe an welche liste ich ausgeben möchte und das habe ich gewonnen weil ich den container datentyp tatsächlich formal eingeführt habe die ausgabe jetzt
- wird es langweilig das ist wieder genau die gleiche wie vorher auch was aber gemacht an dieser stelle ein kleines bisschen
- übersichtlicher gezeichnet wir haben gestartet mit einem wort pointer auf meine daten mit einem wort pointer auf die aktuelle markierung und im anzahl
- internet eher mehr die anzahl der eingeschriebenen studierenden wie zählt das haben wir dann ersetzt durch das verständnis ich
- habe einen studenten als datenstruktur mit den feldern matrikelnummer vorname und nachname und damit hatte ich keinen winter mehr an
- den beiden stellen sondern tatsächlich beide male einst juden pointer jeweils auf einen solchen da er eine sonne datenstruktur zeigt hier genau genommen
- auf eine ganze menge von datenstrukturen und dann zeigte da eben auf die allererste was für ein bisschen angedickt im nächsten schritt durch
- einzelne funktionen die diese daten hier über ein einheitliches interface bedienen und im letzten schritt haben wir auch diese daten in der eigenen
- datenstruktur verpackt um das ganze nicht mehr nur in einer einzigen globalen variable zu machen sondern und möglicherweise auch mehrere container
- anlegen zu können und um das machen zu können mussten wir den einzelnen funktionen und natürlich jeweils sagen offen welcher dieser datenstruktur noch
- welche auf welchen dieser container gearbeitet werden so und jetzt wäre es schön wenn wir das tatsächlich zusammenbringen können die daten mit den
- funktionen die auf diesen daten arbeiten also im endeffekt tatsächlich sagen wir haben einen zustand hier ruhen das sind die daten und ein verhalten was wir
- kopieren und wenn wir das tun sind wir tatsächlich an einer stelle was wir später eine objektorientierte programmierung klasse nennen eine
- kleinigkeit die sich jetzt noch ändert auf dieser folie beim ehc plus plus zur verfügung haben wir müssen eigentlich nicht mehr hier
- unseren container selber implementieren wir können uns ja in der ci plus standard bibliothek bedienen und ein container datentyp nutzen
- an der stelle den vektor aus der standard bibliothek über studenten was dieser vector macht gucken wir uns später an
- der vollständigkeit halber sei hier schon mal eingesetzt weil der code dann noch mal ein kleines bisschen kürzer wird aber das ist einfach nur ein fertig
- implementiertes dynamisches array so wie sie ist aus dem letzten semester kenne [Musik]
Zum Nachlesen
Objektorientierte ProgrammierungDie objektorientierte Programmierung (kurz OOP) ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma. Die Grundidee besteht darin …
Zeiger (Informatik)Mit Zeiger (englisch pointer) wird in der Informatik ein Objekt einer Programmiersprache bezeichnet, das eine Speicheradresse zwischenspeichert.
Array (Datentyp)Ein Array ([əˈɹeɪ], englisch für Areal, Bereich, Anordnung, Aufstellung u. a.) ist in der Informatik eine Datenstruktur-Variante, mit deren Verwendung „viele …