Objektorientierung in 10 Minuten Programmieren lernen https://www.youtube.com/watch?v=w5M1IlvILLg Transkript (automatisch erstellt) 0:00 in diesem video lernst du alles was du als anfänger über das thema objektorientierung wissen muss vielleicht hast du dich schon mit dem 0:06 thema software entwicklung beschäftigt und hat schon deine ersten kleinen programme geschrieben das ganze funktioniert vielleicht erst mal ganz 0:12 gut aber relativ schnell sehen deine programme dann so aus du merkst es deine programme mit der zeit immer länger und länger und länger werden und der coater 0:21 drin der wird immer unverständlicher und für dich ist das vielleicht noch irgendwie verständlich aber gerade wenn du irgendwie mal ein halbes jahr später 0:29 daran arbeiten muss oder wenn vielleicht eine andere person sich versucht in deinen code rhein zu arbeiten dann wird diese person nichts mehr verstehen und 0:38 genau aus diesem grund gibt es natürlich wege das ganze besser zu machen das erste was du höchstwahrscheinlich machen wirst ist das ganze in funktionen zu 0:46 unterteilen in eine funktion schreibst du die zeilen code die zusammengehören das heißt wenn du beispielsweise was kleines berechnen möchtest dann kannst 0:54 du das innerhalb von einer funktion machen und mit der zeit hast du dann einige funktionen das problem ist dass du nicht nur drei funktionen sowie hier 1:03 hast sondern auch wenn du alles in funktionen unter teils wird bei größeren programm das ganze dann irgendwann so aussehen du hast eine unzählige menge an 1:12 funktionen und das wird dann natürlich relativ schnell wieder unübersichtlich und genau aus diesem grund gibt es hier ein konzept was noch mehr 1:20 übersichtlichkeit schafft und zwar du hast es wahrscheinlich gedacht die objektorientierung in der objektorientierung nehmen wir alle 1:27 funktionen und variablen die irgendwie zusammengehören und bündeln sie in einem sogenannten objekt das ganze sieht dann so aus ein hund hat beispielsweise die 1:37 funktion laufen essen und auch wenn das heißt all diese funktion können wir jetzt in eine sogenannte klasse schreiben vermutlich hat dieser hund 1:45 auch noch verschiedene variablen wie beispielsweise die farbe oder die rasse das heißt wenn wir all diese informationen in unseren quellcode 1:52 zusammentun dann tun wir uns natürlich auch leichter diese information immer schnell zu finden die variablen die nennt man in einem objekt eigenschaften 2:00 oder auf englisch property und die funktionen der methoden oder message relativ schnell kommen wir dann allerdings zu einem weiteren problem 2:08 jetzt stellen wir uns mal vor dass wir nicht nur einen hund haben soll dann auch eine katze die katze hat natürlich genauso wie der hund ähnliche funktionen 2:16 laufen und essen ist genau das gleiche auf der anderen seite haben wir allerdings auch methoden die entweder nur zu der katze oder nur zu dem bund 2:26 gehören und dafür haben wir ein konzept was uns dieses problem gelöst und zwar das konzept der vererbung sowohl bei kunden als auch bei katzen handelt es 2:35 sich ja um säugetiere das heißt wir könnten jetzt eine oberklasse definieren namens säugetier und hier fügen wir jetzt die methoden ein die beiden tieren 2:45 gehören das heißt laufen und essen etwas beide tiere gerne machen der hund hingegen bekommt nur die methode die ja alleine hat nämlich ben und die katze 2:53 bekommt auch ihre methode und zwar dadurch ist das ganze um einiges aufgeräumter dazu können wir uns mal ein konzept aus der praxis angucken stellen 3:03 wir uns mal folgenden code vor wir definieren uns einen namen und ein geburtsjahr und jetzt wollen wir ausrechnen wie alt die person ist und in 3:10 einer funktion darstellen wie alt die person mit dem namen zusammen ist sieht schon ganz gut aus allerdings können wir das ganze jetzt auch objektorientiert 3:19 lösen und da schreibt man dann so wenn wir das ganze als klasse schreiben was immer die definition von einem objekt ist dann haben wir einige vorteile in 3:31 der objektorientierung redet man von vier verschiedenen prinzipien all diese prinzipien geben uns diverse vorteile und diese vorteile werden wir jetzt 3:39 einmal anhand eines beispiels besprechen vorteil nummer eins ist die vererbung das haben wir eben bereits besprochen angenommen wir haben wieder unsere katze 3:47 und unseren hund dann haben die funktionalitäten die teilen die sich wie zum beispiel laufen und essen deswegen können wir diese einer über klasse zu 3:55 ordnen und beide unterklassen verfügen dann über diese methoden außerdem ist es so dass vielleicht säugetiere nicht immer essen und laufen können deswegen 4:03 könnte man hier auch zum beispiel stattdessen vierbeiner oder sowas schreiben würde wahrscheinlich auch gehen prinzip nummer zwei ist die 4:09 abstraktion bedeutet wir packen in unser objekt nur das rein was wir wirklich benötigen ich meine hunde oder katzen haben ja unendlich viele eigenschaften 4:19 aber wir packen natürlich nur die eigenschaften und die funktionen da rein die wir auch wirklich für unsere programmierung benötigen das ganze hängt 4:27 natürlich ganz von deinem anwendungsbereiche ab wenn du jetzt eine app für tierärzte programmiert dann ist es vielleicht interessant die blutgruppe 4:34 des hundes oder der katze zu speichern wenn du jetzt allerdings einfach nur eine verwaltung sap für dein hund oder deine katze haben möchtest dann solltest 4:42 du nicht unbedingt die blutgruppe oder ähnliche vitalwerte speichern wir abstrahieren immer und haben nur die eigenschaften und die funktionen die wir 4:49 auch wirklich benötigen prinzip nummer drei ist die sogenannte kapselung in unserem objekt speichern wir nur variablen und funktionen die zu diesem 4:58 objekt gehören wichtig ist nicht jeder kann auf diese variablen und funktionen von außen zugreifen wir können genau sagen welche variablen und funktionen 5:07 wir nach außen zu greifbar machen dafür können wir in vielen programmiersprachen zb das wort public oder private vor die variable schreiben wenn wir public davor 5:17 schreiben dann kann von außen auf diese variable zugegriffen werden wenn wir privat davor schreiben dann kann man nur innerhalb des objektes darauf zugreifen 5:27 das gleiche gilt für funktionen das vierte prinzip ist der sogenannte polymorphismus dafür ein beispiel wir können eine variable sowohl einen hund 5:35 zu ordnen als auch eine katze und bei beiden objekten können wir nun die gleiche methode aufrufen zum beispiel laufen oder essen das wort pulli heißt 5:46 viele des worten mord heißt form bedeutet wir haben die möglichkeit unserer variable verschiedene formen eines objektes zu geben egal was für ein 5:55 säugetier zu weisen ob ein hund oder eine katze wir können alle funktionen und eigenschaften nutzen die ein säugetier zur verfügung hat kommen wir 6:02 zum interessantesten teil und zwar wie programmiert man damit dafür werde ich dir es einfach mal zeigen die man die klassen definiert wir schreiben uns 6:10 jetzt zwei klassen für unseren hund und für unsere katze unser hund bekommt eine funktion für das bellen und unsere katze bekommt eine funktion für das miauen ja 6:23 das heißt wir haben schon mal zwei unterschiedliche funktionen jetzt wollen wir uns ja eine über klasse namens säugetier definieren das heißt wir 6:33 schreiben einfach eine dritte klasse und in diese dritte klasse schreiben wir jetzt beide funktionen die beide tiere haben das heißt laufen also ran und 6:42 essen also ist jetzt müssen wir nur noch beiden klassen katze und hund sagen dass diese klassen natürlich untergeordnete klassen von unserer übergeordneten 6:52 klasse säugetier beziehungsweise mängel auf englisch sind und dafür benötigen wir das extend keyword wir schreiben also class dog extens mamelund class 7:04 catic statesman jetzt können wir uns an einer variable einen neuen hund oder eine neue katze definieren und können bei beiden zb die run methode ausführen 7:13 dieses beispiel weiß in javascript objektorientierung existiert allerdings in den meisten sprachen mit denen du arbeiten wirst wenn du beruflich 7:21 programmieren möchtest dann musst du objektorientierung auf jeden fall lernen wenn ich das ganze thema und vor allen dingen der quereinstieg zum 7:28 programmierer interessiert und du gerne als programmierer arbeiten möchtest dann klickt doch mal auf den link ganz oben in der youtube beschreibung da kannst du 7:36 ein kostenloses beratungsgespräch mit uns vereinbaren und ich über unsere weiterbildung zum programmierer informieren ansonsten sehen wir uns 7:43 wieder im nächsten video mach's gut dein yunus