Python lernen

Was ist OOP?

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
In diesem Einstieg in die Welt der OOP (objektorientierte Programmierung) werden die theoretischen Konzepte erläutert. Dabei geht es sowohl um die Ideen als auch um Konzepte, die Sie zumindest im Ansatz kennen sollten.
05:43

Transkript

Python unterstützt verschiedene Paradigmen bei der Programmierung. Unter anderem auch die, der objektorientierten Programmierung oder kurz OOP. Wenn Sie das tun sollten sie zumindest einige Begriffe aus diesem Umfeld kennen und damit beschäftigen wir uns hier. Zuerst einmal das Ziel objektorientierten Programmierung. Die Wiederverwendbarkeit ist das Schlagwort, warum objektorientierte Programmierung so effizient ist. Sie können Dinge einfach leichter wiederverwenden und erreichen dadurch eine Modularisierung. Diese Wiederverwendbarkeit schafft man im Wesentlichen durch Datenkapselung. Dabei werden die passiven Daten, die sogenannten Eigenschaften und die aktiven Dinge, die Methoden zusammengefasst in einem Objekt. Und bei strenger Datenkapselung kann man sogar sämtliche Daten, also Eigenschaften, so aufbauen, dass sie nur indirekt mittels geeigneter Methoden zu Verfügung gestellt werden. Nun gibt es zwei entscheidende Begriffe in der objektiven Programmierung. Einmal die Klassen und Objekte. Klassen dienen als Baupläne für Objekte. Man nennt sie auch die Objekttypen. Sie passen alle relevanten Eigenschaften und Verhaltensweisen von den repräsentierten Objekten zusammen. Man kann sich das so vorstellen, wie im Zoo. Auch dort werden Tiere nach gewissen Kriterien klassifiziert. Die Objekte, die man auch Instanzen von Klassen nennt, sind eine Abstraktion eines realen Gegenstand oder Konzepts. Sie verfügen über einen spezifischen Zustand, ein spezielles Verhalten, eine Abstraktion insofern, dass nicht immer alles, was ein Objekt auszeichnet, in einem bestimmten Modell, in einer bestimmten Situation von Relevanz ist. Wenn nun Objekte vorliegen, dann müssen sie miteinander kommunizieren können und das nennt man Nachrichten schicken oder Botschaften. Und in einer streng objektorientierten Sprache gibt es keine anderen Kommunikationswege. Wenn es nicht streng objektorientierten Sprachen sind, gibt es beispielsweise globale Variablen, darüber können Objekte auch kommunizieren, aber das ist in der strengen Objektorientierung eigentlich verboten. Diese Nachrichten können entweder nur in eine Richtung oder in beide Richtungen ausgetauscht werden. Betrachten wir noch einmal die Eigenschaften oder Attribute und die Methoden etwas genauer. Attribute sind die Dinge, die die Eigenschaften von einem Objekt charakterisieren. Etwa die Farbe, die Form, die Größe sind das wodurch sich Objekte unterscheiden. Attribute nennt man meist die Eigenschaften eines Objektes. Meist insofern, dass es manche Technologien gibt wo es ein Unterschied gibt zwischen Attributen und Eigenschaften, aber in der strengen objektorientierten Theorie ist das identisch. Die Methoden beschreiben die Funktionalität eines Objektes, man nennt sie deswegen oft auch die Operationen eines Objektes. Nun gibt es zwischen Objekten und Klassen gewisse Beziehungen, Stichworte sind Assoziation, Komposition, Aggregation. Müssen Sie nicht im Detail wissen, aber ganz grob kann man sich vorstellen, was eine Komposition ist. Ist eine Zusammensetzung von einem größeren Objekt aus kleineren Objekten. Ein Auto besteht beispielsweise als Komposition, aus einem Motor, einer Karosserie und Fahrwerk und so weiter. Bei den Assoziationen gibt es eine ganz bestimmte Form, die herausgehobene Bedeutung hat, das ist die Vererbung. Objektorientierte Programmierung arbeitet sehr oft mit Vererbung. Und das ist ein Mechanismus, der zum generalisieren oder spezialisieren von Objekttypen genutzt wird. Generalisieren und spezialisieren betrachtet die Richtung. Wenn etwas verallgemeinert, also generalisiert wird dann fallen spezifische Eigenschaften weg beispielsweise. Stellen Sie sich vor, Sie haben ein Hund oder eine Katze. Wenn Sie die verallgemeinern zu einem Tier, dann wird nur noch das in dem Tier beschrieben, was wirklich für beide Typen gilt. Und die Umkehrung, Sie haben ein Tier und sobald Sie verschiedene Tiere haben und wollen deren Spezifika beschreiben, dann spezialisieren Sie. Kommen wir noch zu einem Begriff der in der objektorientierten Programmierung auch sehr oft auftaucht. Das ist der, der Polymorphie es gibt einige technische Umsetzungen der Polymorphie, aber allgemein beschreibt Polymorphie eigentlich nur ein vielgestaltiges Verhalten aufgrund einer vorliegenden Situation. Denken Sie an den Plusoperator beispielsweise. Der kann als mathematische Addition verstanden werden. Er kann aber auch zur Stringverkettung genutzt werden und damit hat er einen polymorphes Verhalten, ein vielgestaltiges. Die Situation entscheiden was passiert. Im Rahmen der Objektorientierung wird die Polymorphie sehr oft auf Methoden bezogen, wobei sich die Methode aufgrund einer gewissen Situationen unterschiedlich verhält, beziehungsweise, aufgrund einer bestimmten Situation wird eine unterschiedliche Methode aufgerufen, die aber möglicherweise im gleichen Namen hat. Das soll es so weit zu den Begriffen rund um die objektorientierte Programmierung sein. Wobei man kann sogar sagen, dass viele Leute die objektorientiert programmieren, diese Begriffe eigentlich gar nicht kennen. Das Wichtigste, was Sie sich auf jeden Fall merken sollten, sind Klassen, Objekte als Instanzen der Klassen und die Technik der Vererbung, sowie Eigenschaften und Methoden, welche die Unterscheidung von Objekten und das Verhalten spezifizieren.

Python lernen

Lernen Sie Syntax, Konzepte und Sprachelemente der praktischen Programmiersprache Schritt für Schritt kennen.

3 Std. 41 min (64 Videos)
Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:08.06.2018

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!