• Home
  • |
  • Blog
  • |
  • Python Tutorial [21/24] – Objektorientierung in Python

Python Tutorial [21/24] – Objektorientierung in Python

Zuletzt aktualisiert: Juni 26, 2023

Ein spannendes und sehr hilfreiches Konzept, das du heute kennenlernen wirst, nennt sich in Python Objektorientierung. Oftmals sorgt dieses Thema für Schwierigkeiten, weil man den Versuch anstellt, direkt objektorientiert zu programmieren. Und das, ohne zuvor so wirklich das dahinterstehende Konzept verstanden zu haben. Im heutigen Beitrag werden wir genau deshalb das Konzept der objektorientierten Programmierung genauer unter die Lupe nehmen.

Sie sehen gerade einen Platzhalterinhalt von Youtube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen

Inhaltsverzeichnis

1. Warum objektorientiert programmieren?

Die objektorientierte Programmierung hilft uns, gewisse Dinge in unserem Code besser darzustellen bzw. zu modellieren. Denn eine der Hauptherausforderungen in der Programmierung besteht darin, gewisse Daten in unserem Code zu repräsentieren, also darzustellen.

1.1. Bisherige Vorgehensweise

Anders gesagt: Bisher haben wir mit sehr simplen Daten gearbeitet.

Dazu gehörte beispielsweise das Speichern einzelner Zahlen. Um so eine Zahl zu speichern, wird bei einer Ganzzahl intern der Basisdatentyp integer verwendet und bei einer Gleitkommazahl der Typ float.

Auch einen String, also eine Folge bestimmter Zeichen zu speichern, ist kein Hexenwerk. Für diesen wird intern der Basisdatentyp String, kurz str, verwendet.

Im weiteren Verlauf haben wir noch die sogenannten Listen in Python kennengelernt. Diese haben uns ermöglicht, mehrere Dinge gemeinsam und in einer Reihenfolge geordnet zu speichern bzw. darzustellen. Hierzu haben wir intern die Datenstruktur list verwendet.

Wir haben also bisher mit sehr einfachen Daten gearbeitet, die mit den bisher bekannten Basisdatentypen problemlos dargestellt werden konnten.

1.2. Vorgehensweise bei komplexen Objekten

Jetzt ist es allerdings so, dass die Welt wesentlich komplexer ist und etwas abstrakter formuliert, aus komplexen Objekten besteht.

Wenn ich beispielsweise von meinem Büro aus dem Fenster nach draußen sehe, erkenne ich auf der gegenüberliegenden Straßenseite ein Auto. Dieses Auto ist nichts anderes als ein komplexes Objekt mit gewissen Eigenschaften.

Möchte ich dieses Auto nun innerhalb meines Computerprogramms darstellen, komme ich mit einem einzelnen der bisher bekannten Basisdatentypen nicht sonderlich weit. Schließlich kann ich das Auto mit all seinen Eigenschaften nicht auf eine einzelne Zahl herunterbrechen. Wir können das Auto also intern weder brauchbar als integer oder float abspeichern, noch können wir es auf einen simplen String herunterbrechen oder mithilfe einer geordneten Liste sauber repräsentieren.

Sobald wir also komplexere Daten darstellen möchten, stoßen wir mit den bis zu diesem Zeitpunkt bekannten Basisdatentypen an unsere Grenzen.

An dieser Stelle kommt in Python Objektorientierung ins Spiel. Mithilfe dieses Konzepts haben wir nun die Möglichkeit, unsere eigenen Datentypen nach Belieben zu kreieren. Das ist deshalb äußerst praktisch, weil wir unsere Datentypen dadurch so gestalten können, dass wir intuitiv mit ihnen arbeiten können und sie sich ideal in unser aktuelles Programm einfügen.

Wenn wir nun beispielsweise ein Autorennspiel programmieren und dafür ein Auto innerhalb unseres Programms darstellen möchten, können wir einen Datentyp erstellen, der das Auto im Spiel nach unseren Vorstellungen repräsentiert.

Damit das Spiel nicht langweilig erscheint, existieren in diesem neben den Autos zahlreiche weitere Objekte, wie etwa Bäume. Diese müssen im Spiel ebenfalls samt ihrer Eigenschaften dargestellt werden.  Für die Darstellung der Bäume können wir uns auch einen separaten Datentyp erstellen, welcher genau die Eigenschaften abbildet, die Bäume in unserem Spiel besitzen sollen.

2. Grobe Idee der objektorientierten Programmierung

  1. Wenn man also objektorientiert programmiert, überlegt man sich zunächst, aus welchen unterschiedlichen Objekten sich das eigene Programm später zusammensetzen soll.
  2. Anschließend kann man diese Objekte modellieren, indem man für jedes komplexe Objekt, das man darstellen möchte, einen Datentyp baut.
  3. Mit der verbleibenden Programmlogik setzt man dann die modellierten Objekte zueinander in Beziehung.

So wird ein Programm auf intuitive Art und Weise erstellt, die unserem menschlichen Denkmuster sehr ähnelt. Schließlich nehmen wir die Welt um uns in Objekten wahr.

Genau deshalb hilft es uns Menschen, auf diese objektorientierte Art und Weise zu programmieren. Weil wir unser natürliches Denkmuster so in die Computerwelt transferieren können!

An dieser Stelle hast du bereits das grobe Konzept der Python Objektorientierung kennengelernt. Auch wenn du bisher nur die Theorie gesehen hast, ist diese notwendig, um später das Konzept in der Praxis verstehen zu können. Wie wir das eben Gelernte anschließend in die Praxis überführen können, wirst du im Detail im nächsten Beitrag erfahren.