Transcript for:
Einführung in objektorientierte Programmierung mit Kotlin

hallo und herzlich willkommen zu online screencast reihe objektorientierte programmierung mit kopftuch in dieser einführung möchte ich erstmal keinen überblick geben warum lohnt es sich mit objektorientierter programmierung zu beschäftigen und warum machen wir das ganze hier in den nächsten filmen mit koppeln also vielleicht noch mitgenommen das was nicht erreichen möchte ist dass ich spaß und freude programmieren haben denn einerseits kann man damit folgen mit dem entwickeln von programmen sehr viele probleme lösen und programm sind ja nichts anderes als ein ausdrucksmittel um ihre ideen und vorstellungen in lauffähige software zu überführen ein ganz wichtiger punkt die programme die sie entwickeln können die haben natürlich eine bedeutung denn alle programme die software die wir verwenden die verändern die welt also vor zehn jahren als der whatsapp facebook noch nicht gegeben hast da sah die welt die kommunikation sicherlich ein bisschen anders aus und das gilt für viele viele online und digitale dienste die welt maßgeblich verändert haben insofern aber hier sich die möglichkeiten natürlich auch sehr viel verantwortung wenn es schiefgeht da gibt es auch wieder negative nachrichten das wollen wir vermeiden dass heißt wichtig ist dass wir hier auch robuste software entwickeln und das ist das ziel des software entwickeln und das programmieren spaß macht gleichzeitig muss man auch ganz ehrlich sagen programmiert kann manchmal ganz frustrierend sein das geht mir selber natürlich auch immer noch so wenn ich mal von einem fehler setze dir nicht nicht so schnell findet auch das geschieht kassiert man immer noch da keiner schon sehr frustrierend sein und da muss man einfach durchhaltevermögen haben und irgendwann knackt man aus diesen fehlern löst das löst ja die herausforderung und dann macht so viel spaß dass man auch schwere probleme gelöst also sofern unser ziel ist dass wir hier einerseits spaß haben aber man muss eben auch wissen es kann frustrierend sein da darf man sich dann nicht so schnell von abschrecken lassen und durchhalten ihre augen ist eigentlich objektorientierte programmierung so wichtig einerseits natürlich es gibt ihnen die möglichkeit vielleicht die nächste killer apps zu entwickeln und deswegen bevor sie jetzt weiter schauen vielleicht stoppte kurz diesem film und wir legen einfach mal ganz kurz 23 ideen für sich selber was ist eine app ist es schon immer gerne haben wollten oder die sie gerne entwickeln möchten und denken sie dann live dabei vielleicht an ihre hobbys und interessen oder schreiben sie einfach irgendeinen zufalls begriff auf schaust nicht irgendwo wo man sich dann vielleicht im café und sehen wo der kaffeetasse umlegen welche apps oder was für ideen kommen dazu und wir haben sie diese etwa auch bei der nächsten screencast oder vorlesungen über dem kopf überlegen sie was das was sie gerade sehen und lernen wie sie das anwenden und einsätzen klingt für ihre eigene app und ganz wichtiger punkt das was wir hier in dieser vorlesung und dieses kriegs anschauen das ist natürlich ganz häufig die grundlage für viele andere fächer in ihrem studium das heißt es lohnt sich hier rechtzeitig auch die entsprechenden fertigkeiten fähigkeiten anzueignen also die wir jetzt lernen als es nach hinten zu schieben und gleich von anfang an alles was einfach und sagen ganz wichtiger punkt was wir aber auch lernen werden außer der eigentlichen programmierung ist das analytische und gleichzeitig das ganzheitliche denken und hier unten der kollege den wir sehen das ist ein alter kriegsschiff besucht und ich so gratis auch der hat schon objektorientiert gedacht denn wer hat im prinzip die schema theorie entwickelt und schemata das ist eigentlich nichts anderes als das wahrnehmen von objekten in der welt also man nimmt nicht irgendwo einen halben apfel war sah man einen ganzen apfel war oder man nimmt ein ganzes auto war ihre objekte die eigenschaften haben und darum wird es in den nächsten filmen pro vorlesung gehen was werden sie also dabei auch lernen sie werden in der lage sein sachverhalte differenziert zu betrachten also kategorie zu bilden und nicht äpfel und birnen miteinander zu verwechseln oder so schon erkennen äpfeln birnen sind zwar beides früchte aber dann eben doch unterschiedliche sachen mit verschiedenen eigenschaften und verschiedenen dinge die man damit anstellen kann und das ist etwas was man ganz häufig in japan bei politischen diskussionen kann zb sieht was viele nicht mehr können wenn ich wirklich sachverhalte differenziert zu betrachten und zu verstehen was ist das abstrakte und was ist das spezifische und ich kann nicht von den abstrakten konzepten auf die spezifische konzepte immer auch direkt etwas schließen übertragen und das haben jetzt ein bisschen üben und im prinzip wenn wir die reale welt abbilden als software als programm dann ist es ja nichts anderes als erstmal uns theorien und modelle zu bilden von den abläufen und prozessen die man vielleicht in einem betrieb vorfindet oder im medienumfeld finden vorfindet und deswegen lernen ja auch irgendwie wird man eigentlich theorien modelle über die realität und dazu gehört auch dass beim prozesse analysieren und optimieren kann wir werden aber auch lernen probleme ganzheitlich zu betrachten und verschiedene lösungsmöglichkeiten gegen dann abzuwägen also jeder lösungsweg hat immer vor und nachteile muss eben sehen welche welcher weg ist jetzt gerade der beste also mit welchen konsequenzen kann ich leben und dass es einen kompromiss schließen abwägen um dann zu einer optimalen lösung zu finden und ja das ist ein ganz wichtiger punkt auch dass man komplexe probleme im detail probleme zerlegt um sie überhaupt in den griff zu bekommen also das was dahinter steckt ist das prinzip des teile und herrsche also nur dann kann ich es eigentlich erreichen ein kleiner und herrschen nur dann kann ich komplexe probleme tatsächlich in den griff bekommen und das ist auch ein rezept das haben sie eigentlich das erleben sie eigentlich ständig wenn ihnen zum beispiel sage sie soll gemüse einkaufen gehen dann ist das eigentlich für sie hört sich das erst mal relativ konkret an aber tatsächlich ist relativ abstrakt weil das sind ja eine ganze reihe von schritten die damit verbunden sind wie zum beispiel erst mal das haus verlassen zum gemüsehändler zu gehen und wo sie das haus verlassen sollten sich leicht angezogen haben außerdem eine ganze reihe von einzelschritten die dahinter sind und sehr abstrakte funktionen auch wenn sie für uns recht gegen ständig ist man sich darunter vorstellen kann die muss man ein teilproblem zerlegen kann sagen was sind eigentlich die schritte und gemüse zu kaufen also irgendwann muss ich grüße auch im warenkorb legen und die anfahrt am ende an der kasse bezahlen also eine ganze reihe von schritten die eigentlich hinter dieser operation milch gemüse kaufen eben auch dazu wenn ich bleiben das lange waren beispiel gemüse kaufen mussten irgendwo auch die diese haben die anwendung story verstehen und erzählen können was sind eigentlich die einzelnen schritte wenn ich gemüse kaufen möchte kann um probleme zu lösen da ist es auch erforderlich dass man kreativ denkt und arbeiten kann und das gehört zu eben guten programm dazu dürften auch einer das handwerk beherrscht und gleichzeitig aber auch auf ideen kommt wie man etwas lösen kann ja das führt nicht immer wieder aussagen zu sagen das objekt orientierte oder das objekt projektile denke eigentlich einerseits bild verstehe sind normaler analysieren können und andererseits aber auch eine eigene software entwickelt können auch gleichzeitig weltveränderung sind ja wir werden das jetzt in den nächsten film mit der programmiersprache gott denn machen relativ neue programmiersprache und ich habe das früher womit sich dafür sehen wir lange mit java und entwickelt habe ich beschlossen meine vorlesung aufgekauft umzustellen dann auch gleich sein müssen auch die motivation eingehen schottland selber kann kombiniert werden für verschiedene plattform zum beispiel nach javascript aber vor allem ist die austria virtuelle maschine setzte hier in diesem krieg ist nicht unbedingt voraus dass ich schon java entwickelt können aber ich werde trotzdem immer wieder an einigen stellen auch querverweise auf jahr machen einerseits werden wir die jahr war system bibliothek verwenden andererseits werde ich aber auch mal wieder darauf eingehen an welchen stellen eigentlich trocken ja wir hatten sehr viel eleganter ist ja als java und deswegen auch mehr spaß macht ja wir sehen hier ich habe jetzt geschafft von der webseite von kodlin wo sie auch meinerseits anleitung des ganzen ausprobieren können sie finden auch hier weitere lernmaterialien und die zuhören auch hier entwicklungsumgebung herunterladen schottland ist 100% interoperabel mit java das heißt sie können existierenden java code einfach ankoppeln weiterverwenden aller bibliotheken die es irgendwo auftaucht liegt die für java geschrieben sind können sie weiterhin verwenden und damit haben wir natürlich schon jetzt eine ganz ganz große basis an funktionalität diese einsetzen können das ist einer der gründe was das koppeln auch sehr attraktiv macht und sie können mit karten vor allem für die android plattform entwickelt hat ist man der größte marktanteil aller betriebssysteme es gibt für smartphones und die android plattform von google und google unterstützt eben auch inzwischen kopplin sehr intensiv und sagt auch das ist eine der primären sprache in zukunft vermutlich sogar die primäre sprache um android anwendungen zu entwickeln ja ich habe gleich noch ein paar motivationsprogramm einen schon mal zusammengefasst was macht denn eigentlich aus einerseits ist kommt mir sehr prägnant also man hat ja sehr viel weniger coach vor allem dollar club dollar paper oder überflüssiger code den man immer wieder die da oben schreiben muss eigentlich keine echte bedeutung drin ist also eigentlich sich das auch sparen kann weil ein gast im kontext aus der verwendung ganz klar ist was da eigentlich immer wieder gemacht werden dann ist an vielen stellen das hier stellt sich aber und es ganz besonders wichtig aber einprogrammieren lernt dass man nicht schnell die ja die fallen rein läuft und wenn man hier programmiert kommt den zwingt einen an vielen stellen auf positive weise sicherer und robuster zu entwickeln und das reduziert so ein bisschen den frustfaktor von dem ich von gesprochen habe und gleichzeitig lernt man auch sagt von nach einem ordentlich zu programmieren also sauberen co zu entwickeln und damit ist dann auch der die umstellung wird es später nahm programmiersprachen möchten sehr viel einfacher wäre das auch dann wenn sie vielleicht in der 4 x doch mit java entwickeln müssen in jahr war sehr viel ordentlichen code entwickeln wenn sie mit köpfen das programmieren gelernt haben interoperabilitäts habe ich schon gerade gesagt ich kann alles für die java virtual machine und zu ende heute nutzen und ich kann aus hör- und entwicklung im web koppeln verbinden also statt javascript mit köpfchen arbeiten und eine ganz wichtige sache noch toppen ist besonders thul freundlich also es gibt ja kann man auch sehen so genannte integrierte entwicklungsumgebungen die uns als entwickler ganz stark dabei unterstützen zum beispiel indem wir also stark unterstützen viele fragen zu entwickeln oder überhaupt auch zu wissen was können wir jetzt als nächste schritte tun und dadurch das kommt eine statische sprache ist und auch über andere optimierungen da gelandet sind ich kann mich sehr sehr gut in einer 3d also development in parlamenten integrierte entwicklungsumgebung mit kopplin entwickeln ja vielleicht ganz kurz zur motivation drei faktoren möchte ich ganz gerne einmal nämlich die relevanz von kopplin dann ganz wichtiger punkt haben wir mit scotland entwickelt kotelett ist eigentlich an vielen stellen steak sie arzt und aus meiner sicht habt kaufen einen sehr viel höheren besseren lernfaktor als andere programmiersprachen und das ist natürlich werden sie dort beim sprachenlernen ganz großer vorteil von der relevanz her wer steht eigentlich hinter kaufläden koppeln ist maßgeblich entwickelt worden von jetbrains traces die firma die der entwicklungsumgebung intellij steckt und sie dort hat man selber festgestellt dass hier ihre entwicklungs umgebung java entwickelt gehabt und das fahrtraining dort irgendwann nicht effizient genug wir haben sie immer ein paar sachen geärgert neil youngs aufwendig ist und warum wir das machen eigene sprache und wenn man dann sprache vielleicht von der firma sehr viel erfahrung hat die entwicklungsumgebung aufgebaut sind dann hat man nur entwickler die sehr viel wissen über sprachen und über pragmatischen entwicklung haben und das sieht man das sprachproblem auch an vielen stellen an und dadurch dass wir mit google und der android-plattform eben auch eine sehr große unterstützung bekommen haben sehen wir dass diese sprache in zukunft noch sehr viel mehr relevanz haben wird die koppel in konferenzen sind in kürzester zeit ausverkauft tickets mehr für sie sehr ja nicht die sprache die nur als er endlich sondern es ist eine von den sprachen die sicherlich die nächsten 20 30 jahre begleiten das sieht man auch daran dass wir hier große firmen haben die inzwischen auch ihre basis aufgaben aufbauen zweiter wichtiger faktor gipfel ist ja wirklich fehlstellen state of the art ist keine sprache die jetzt ganz neue konzepte einfluss also das jetzt kann ich sagen keine innovation das war's koppeln an die macht ist aufbauen auf den erprobten konzepten der letzten zwanzig dreißig jahre also alles wo man gesehen okay das funktioniert besonders gut irgendwelchen programmiersprachen das hat man genommen was nicht so wichtig ist und nicht so gut funktioniert das hat man nicht mehr reingepackt also basiert auf vielen der produzenten nichts neu ist aber eben das was sich etabliert hat und dann merkt man auch dass eine programmiersprache die sehr gut dafür geeignet ist wirklich sein ziel zu erreichen ist sehr praktisch und auch sehr effizient in entwicklung sie ist sehr viel robuster und auf sicherheit ausgelegt also viele von den problemen die man mit anderen programmiersprachen hat auch was zu sicherheitsproblemen führen kann die kann man kaufen sehr gut umgehen wir werden vor allem auch die objektorientierte programmierung konzentrieren aber gleichzeitig hat eine reihe von funktionalen aspekten da will man später noch damit beschäftigen was das heißt aber schon mal vorweg genommen funktional heißt unter anderem dass man zum beispiel auch funktionen als werte übergeben kann also die funktion ist ja nichts anderes als ein code blog.de nicht ausführen kann mit anweisungen und in der funktionalen programmierung eine solche gruppe auch generieren weitergeben und damit zu arbeiten als fenton wert wäre viele zahlen oder ein zeichen geht ja das letzte punkt wir haben bei koppeln aus verschiedenen gründen einen sehr hohem lernfaktor also man derartig schneller sie ist an vielen stellen konsistenter und verständlicher und sie ist auch ein fehlstellen wesentliche also dass ich wenn ich zum beispiel die klasse schreibe kann man auch sehen dass klassen sind da kann es sein dass man in einer programmiersprache java 60 70 zeilen braucht und in koffern 314 und genau das gleiche aus da kann man sich vorstellen wenn ich drei oder vier zeilen nur brauche dann komme ich sehr viel mehr auch auf eine bildschirmseite ganz praktisch gesprochen und das hilft mir dabei ein konzept besser zu vermitteln ganzseitig und scrollen muss und wir die zusammenhänge besser sehen so vermeidet so ein bisschen das problem manchmal bei ansprachen hat dass man den wald vor lauter bäumen nicht überall so viel drumherum sv beuna plate und das macht ja kommt man sehr viel prägnanter unwesentlich ihrem ein faktor der auch noch interessant ist kostet es eine relativ gute sprache macht richtig spaß damit ich hoffe dass aus jedem arbeiten freude am programmieren haben ich habe das mal zusammengefasst auf die auch sei es wichtig sind also wir haben dann kommt ein sehr einfacher einstieg dadurch dass keine überflüssigen sprach elemente mehr mit dabei sind ganz wichtiger punkt in vielen oder in vielen punkten ist koffer einfach eleganter als andere programmiersprachen und sie lernen gleich von vornherein den richtigen stil was wichtig ist wenn sie vielleicht später auch mit anderen sprachen arbeiten wir haben eine sehr effiziente entwicklung wollen wir uns an viel stellt boilerplate sparen also groß der eigentlich nicht wirklich geschrieben werden muss macht sprach konvention ist oder die sprache das von einem verlangt aber keine echte zusätzlich ist jemand die bedeutung hat man verwendet in kauf denn häufig schon vorgegebene fertige system funktionen und die sind in der regel von den algorithmen hier hauptsächlich schneller und optimiert als wenn man das selber implementieren wird und das hat eben schon kurz und wir haben hier produkte konzepte also nichts neues sondern dafür vieles von dem was schon etabliert ist und gut ist beim lernen sehr wichtig auch es ist coach der sich auch viele stellen leichter lesen lässt sich besser erklärt und für uns menschen viel lesbarer ist und sie haben weniger fehler es gibt ein paar konzepte dennoch kennen lernen also einerseits in alle dt damit ist gemeint ich muss für die variable explizit sagen dass sie überhaupt den wert null annehmen kann und mit 70 annehmen kann ja dann muss sich vielleicht auch zu greife ja immer überprüfen ob die variable gramm 0 ist ob sie gerade keinen inhalt hat oder auch nicht im objekt dahinter habe wo ich darauf zugreifen kann wenn sie jetzt noch nicht genau wissen was damit gemeint ist dass wir alles noch sehen aber ich kann jetzt schon mal sagen es gab in vielen anderen sprachen haben sich ständig probleme wenn sie eine variable haben nämlich initialisiert ist die also auf eine ungültige wert verweis oder auf gar keinen wert schaffe ich will da etwas machen dann gibt's ständig fehler und kaufen finden dazu von vornherein der oft sachen dass so etwas gar nicht passiert und das letzte station ist auch sehr erfrischend wenn man lange programmiert hat schon viele jahre hinweg dann bringt in meinem noch mal wieder mehr spaß weil einfach der kurze schön sauber effizient ist und man schnell deine ziele einigen wir werden mit intel arbeiten in dieses krieges aber wird sich schnell mal was probieren wollen sie können hier auf unter dieser url dreiklang york schon direkt cudlin ausprobieren das leben also hier wir haben hier die ul eingegeben und das ganze läuft jetzt hier im webbrowser und wir sehen hier das ist eine funktion wir werden später noch sehen wie das genau aufgebaut ist aber man kann sich einfach merken dass es hier unser unserer einstiegspunkt dass es der coach der ausgeführt wird jetzt kann ich hier anweisungen reinschreiben was soll eigentlich der coach machen und ich kann zum beispiel eine ausgabe machen und ln das elend steht für nein also ich mache noch zeilen und rein und spanien fachhandel welt der klassiker bei der programmierung anfang und wenn ich hier auf ron drücken wir dann sehen wir hier unten erscheint die ausgabe hallo welt nicht eine verrechnung machen möchte kann ich zum beispiel sagen mario ist laut 10 ist leicht 20 und das ergebnis ist gleich ab ins beet möchten zusammen rechnen und jetzt möchte ich gerne das ergebnis aus eben also schreibe ich hier print läden das ergebnis ist doppelpunkt und jetzt kann ich hier auf diese variable dich angelegt haben ergebnis direkt darauf zugreifen den nehme ich ein dollarzeichen vorweg schreibe ich das ganze hier nennt man eine zeichenkette kette von einzelnen zeichen oder stream und ein konkretes konzept der string templates als vorlagen das heißt das hier ist eigentlich eine vorlage und da wird was ersetzt dieser vorlage nämlich da werden variablen werte eingesetzt und hier ist unser variablen wert von ergebnis steht eben das ergebnis dieser rechenoperation 10 + 20 wir können das ganze immer laufen lassen und sie sehen ich habe offensichtlich nicht hierfür tipps und die geht die entwicklungsumgebung hier sagten auch schon wo ich mich verliebt habe das wirklich besser ergebnis so muss es heißen und bin ich jetzt das ganze laufende dass er dann funktion setzt also was hier geschieht nur hier werden variablen angelegt wird damit wer muss noch im detail beschäftigen aber hier wird irgendwo in dieser zeile wird waren ja wieder angelegt kann man sich wie so ein notizzettel oder keynote vorstellen wo zehn draufsteht die variable hier heißt und dann haben wir eine zweite variable hier an der stelle da steht 20 und die variable heißt b und was wir hier haben ist wir haben noch eine weitere variable und da sind das ergebnis ein von der rechenoperationen a + b und warum schauen was ist also kommen wir hier das ist 10 und b haben wir dort das ist 20 und wenn wir das zusammenrechnen dann kommt da 30 raus das heißt dieser ausdruck hier der gesamte ausdruck hier er wird ausgewertet auf den wert 30 das was wir hier haben und diese 30 hier die speichern wir jetzt in dieser variablen also das ergebnis hier da steht jetzt 30 drin und dann sagen wir noch als anweisung dass auf der konsole aus dass hier unten ist unsere konsole und ausgegeben werden soll das ergebnis ist und hier wird jetzt der variablen wert genommen von ergebnis und wir sehen er war ja wir von 130 und deswegen wird hier dieses ergebnis ersetzt durch die 30 an das ist hier der zusammenhang zwischen diesen ja zwischen dem ergebnis dass sich ausgegeben wird der ausgabe auf der konsole und diese anweisung die die hier gegeben haben unterstützend zu dieses krieges gibt es eintrifft das findet sie jungen nach dem aufbau aber es gibt schon bereits jetzt sehr gute bücher die ich empfehlen kann einerseits wenn man schon beim programmieren kann insbesondere mit java empfiehlt sich dieses buch kommt in action das ist von einem der maßgeblichen entwickler der sprache geschrieben worden also sehr sehr gut sortiert und auch sehr präzise geschrieben erfordert aber dass merck schon programmieren kann und möglichst auch wenn man bei null anfangen möchte dann empfiehlt sich hier dieses buch das ist sehr beschrieben und erklärt die konzepte auch sehr niedrigschwellig lernen wir werden hier dieses trikot uns aber auch so ein bisschen mit algorithmen und datenstrukturen beschäftigen und daher finde ich diese beiden bücher und darüber hinaus gibt es aber ihr auf der webseite von kodlin auch eine liste mit büchern die alle in die programmiersprache 1 ja zum schluss von diesem screencast doch ein kurzer überblick was sind die themen der jungen freund mit filme einerseits wenn wir uns wie gesagt objektorientierte programmierung mit dem geschäft in der st wir werden erstmal loslegen mit daten und kontrollstrukturen also objekte und klassen dann werden uns anschauen wo leben objekte eigentlich ne also wo liegt dann habe ich die daten dann wird auch ein stack waren auf dem hinweis das ist in halle wo man daten speichern kann damals mit schnittstellen kapselung und der sichtbarkeit von werten beschäftigen also wie kann ich dinge schützen ich mach das mal ein beispiel von kaffeeautomaten hier ich habe hier schnittstelle ein interface klöpper wo er auf brücken kann und dann kommt hier der kaffee aus damit ihr innenleben und das sollte nach möglichkeiten kapsel sein damit man nicht irgendwas kaputt machen kann und hier vor allem auch wenn wir das interface verwenden gar nicht wissen müssen wie sieht hier das innenleben aus nach und damit wir eben das ganze kapseln und verstecken würde man über sichtbarkeit von funktionen und eigenschaften sprechen dann ganz wichtiger bereich für ihr credo orientierte programmierung ist das konzept der vererbung wo man also eigenschaften von einer allgemeinen klasse färbt an spezielle klassen als beispiel klasse personen das ist eine oberklasse und dann gibt es spezielle klassen ableitung davon also zum beispiel einen studenten und dann gibt es vielleicht noch einen dezenten aber es gibt auch sachen gegen die bäcker und so weiter also eine ganze reihe von verschiedenen personengruppen so rechnen die man hier aufbauen und ja damit zusammenhängt dass wir uns mit typen und polymorphe beschäftigen werden also profi heißt das etwas ganz unterschiedlich verhalten kann obwohl es nach hause und dann gleich aussieht also ich habe zum beispiel eine funktion die heißt losfahren und das losfahren wird sicherlich unterschiedlichen könnt ihr zeit für ein auto oder zeit für ein fahrrad und typ komparatistik kompatibilität ist ein ganz wichtiges thema wo eben gucken müssen welche objekte passen eigentlich in welche variablen rein das ist im prinzip nichts anderes als das was sie vielleicht aus einer kindheit kennen wir solche bauklötze irgendwo in die richtigen behälter zu zu setzen also das gehört sicherlich hier rein und gehört nicht hier rein also das wäre falsch ich darf nicht dem würfel hier in diesen kreis reinstecken und nichts anderes ist eigentlich was wir hier bei den typen und haben werden wo ich zum beispiel sagen viele variable vom typ person und da kann ich kein fahrrad reinstecken also kein fahrrad darin speichern ein bisschen aufwendiger wisse man in solch vererbung bereiche ihnen haben dann muss ich nachdenken kann ich eine variable vom typ person studenten ob ihr gerät stecken ja das geht erstellten person anders augen geht es aber nicht ich kann eine variable von der student nicht die person reinstecken weil ich jede person ein student ist schauen wir auch im detail machen da wir uns mit der komposition für beschäftigen also kompositionen ist eine andere art und weise funktionalität zu erweitern indem ich objekte aus anderem objekt zusammenbau dann wären wir uns mit datenstrukturen und algorithmen und beschäftigen und in dem kontext 8 mit sessions also behandlung von ausnahmesituationen damit containerklassen also listen zum beispiel oder sets und abstrakte datentypen damit muss auch anschauen die eigentlich aufgebaut sein damit er gut war ist also mit krieg gedroht und softwarequalität wenn wir uns beschäftigen dann ein ganz wichtiges thema auch zu verstehen man eigentlich dynamische daten strukturen aufbauen und verwalten kann da werden wir uns als beispiel die einfach und die doppelte verkehrte liste anschauen sortiert uhr algorithmen und wir werden dann auch auf die funktionale programmierung eingehen also die funktion ist nichts anderes als hier sind als öko blog wo bestimmte anweisungen drin sind triffst du das für rechner irgendwas und für eine funktion kann ich als wert betrachten bin ich bei festlegen kann weitergeben kann und da wir mal sehen welche vorteile sich daraus ergeben und am ende werden wir auch eine app entwickelt für android des jahres mit oberflächendesign beschäftigen und mit der android architektur werden und verschiedene system bibliotheken und frameworks anschauen und ganz zum schluss das ist jetzt nicht mehr zu android aber ganz zum schluss aber auch mit baumstruktur geschickt ja das ist ein bisschen als überblick was sie in den nächsten zwei jahrzehnten erwartet und ja am nächsten speed steigern auch gleich ein und wenn man mit der entwicklung beginnen