Unter objektbasierter Programmierung (OOP) versteht man die Erstellung von Klassen aus mehreren Typen, die die Funktionalität ihrer übergeordneten Klassen erweitern können. Objekte können eine Methode erweitern, indem sie sie in ihrer eigenen Klasse außer Kraft setzen. Diese Technik ist auch nützlich, um spezielle Funktionen bereitzustellen. In Python ist es zum Beispiel nicht möglich, den Plus-Operator auf einen Vektor anzuwenden, so dass es nicht möglich wäre, zweidimensionale Vektoren zu addieren. Objekte brauchen auch Attribute, und diese sollten mit einem Präfix mit doppelter Unterstreichung benannt werden, um sie vor Außenstehenden zu verbergen.
Vererbung
Vererbung ist ein grundlegendes Konzept in objektorientierten Programmiersprachen. Es erzeugt Unterklassen aus einer Elternklasse und fördert die Wiederverwendbarkeit. Python bietet eine bequeme Möglichkeit, Vererbung zu implementieren. Durch Vererbung können Klassen Eigenschaften und Methoden voneinander erben, was bei der Erstellung komplexer Anwendungen hilfreich ist. In diesem Artikel werden wir die Grundlagen der Vererbung in Python behandeln. Sobald Sie die Vorteile der Vererbung verstanden haben, können Sie sie in Ihrem eigenen Code implementieren.
Mit Hilfe der Vererbung können Programmierer Klassen erstellen, die auf bestehenden Klassen basieren. Eine Unterklasse erbt die Attribute und Methoden einer Elternklasse, kann aber auch eigene Methoden definieren. So erbt beispielsweise eine Unterklasse Car Eigenschaften von der Klasse Vehicle und kann darüber hinaus eigene Attribute und Methoden definieren. Die Vererbung unterstützt die Wiederverwendbarkeit von Code, indem sie es Klassen ermöglicht, Methoden anderer Klassen wiederzuverwenden. Übergeordnete Klassen und Unterklassen sind in einem gerichteten Graphen miteinander verbunden.
Das wichtigste Merkmal der Vererbung ist die Möglichkeit, Methoden zu überschreiben. Anders als in den meisten anderen Sprachen erfolgt das Überschreiben von Methoden durch einfaches Erstellen einer Instanz der Methode in der Kindklasse. Wenn die Elternklasse eine Methode mit dem Namen “eat” hat, ist es möglich, diese in der Kindklasse zu überschreiben, wodurch die ursprüngliche Implementierung außer Kraft gesetzt wird. Dies ist auch in Fällen nützlich, in denen die Elternklasse mehrere Methoden hat.
Überschreiben von Methoden der Elternklasse
Das Überschreiben von Methoden der Elternklasse ist in Python ein wesentlicher Bestandteil der objektbasierten Programmierung. Das Überschreiben einer Methode in einer übergeordneten Klasse ermöglicht es Ihnen, deren Verhalten zu ändern. In diesem Fall können Sie eine spezielle Definition verwenden, um das Verhalten einer bestehenden Methode in der übergeordneten Klasse zu ändern. Sie müssen jedoch bedenken, dass das Überschreiben von Methoden der Elternklasse die Vererbung voraussetzt. Außerdem muss der Name der Methode in der Eltern- und der Kindklasse identisch sein.
Darüber hinaus können Sie auch die Methoden einer Kindklasse überschreiben, um deren Funktionalität zu erweitern. Das Überladen von Methoden bezieht sich auf die Fähigkeit einer Kindklasse, eine in einer Elternklasse definierte Methode zu überschreiben. In den meisten Fällen erfolgt die Methodenüberladung in der untergeordneten Klasse, wo der gleiche Name und die gleiche Anzahl von Parametern benötigt werden. Auf diese Weise können Sie die Funktionalität einer übergeordneten Klasse erweitern, ohne das Original zu verändern.
In diesem Beispiel ist die Klasse Dogs eine Unterklasse der übergeordneten Klasse Animal. Die Methode “d” in der untergeordneten Klasse Dogs ruft eine Methode in der übergeordneten Klasse Animal auf. Die Methode der Unterklasse ist jedoch eine andere. Die untergeordnete Klasse ruft die Methode “display()” in der übergeordneten Klasse auf. Daher müssen Sie sicherstellen, dass Sie die Methoden der Elternklasse so oft wie möglich überschreiben.
Konstruktor
Der Konstruktor ist eine spezielle Methode für Klassen, die zur Initialisierung von Klasseneigenschaften und -attributen verwendet wird. Der Konstruktor wird oft mit dem Schlüsselwort init bezeichnet. Ein Konstruktor kann auf mehrere Arten definiert werden. Er kann als Fabrik verwendet werden, die ein Auto-Objekt aus seinem Entwurfsmuster erzeugt. In einer Fabrik stellt die Variable self ein Objekt dar, das Eigenschaftswerte erbt.
Eine Klasse ist ein Satz von Instanzvariablen und Methoden, die den Typ des zu erstellenden Objekts definieren. Eine Klasse ist eine Vorlage für die in ihr enthaltenen Objekte. Ein Beispiel für eine Klasse ist ein iPhone. Sein Konstruktor erzeugt neue Instanzen der Klasse. Die Initialisierungsmethode wird verwendet, um Objektattribute einzurichten. In Python ist diese Methode als init bekannt. Wie Sie sehen, wird bei der objektbasierten Programmierung der Konstruktor verwendet, um Attribute zu definieren.
Der Python-Konstruktor ist ähnlich wie der Konstruktor in anderen Sprachen. Er ist der Bauplan, der das Objekt erzeugt. Diese Funktion wird init() genannt. Diese Funktion wird nur ausgeführt, wenn die Klasse zum ersten Mal gestartet wird. Methoden sind Funktionen, die zum Objekt gehören. Auf diese Methoden kann mit einem self-Parameter zugegriffen werden. Dieser Parameter wird verwendet, um auf Variablen und Methoden zuzugreifen, die zur Klasse gehören.