Python - Objekte

Inhaltsverzeichnis
Im Objekt orientierte Programmierung, Objekte sind abstrakte Darstellungen von Elementen, die wir durch ihre Attribute definieren und die über eine Reihe von Methoden verfügen, die es uns ermöglichen, diese Attribute zu manipulieren und darauf zuzugreifen.
existieren 3 Funktionen die uns den Grund geben, unsere eigenen Objekte zu verwenden, anstatt von den Funktionen, Bibliotheken und Globals abhängig zu sein, die uns die Sprache zur Verfügung stellt, dies sind:
  • Polymorphismus: Verwendung derselben Operationen an verschiedenen Objekten verschiedener Klassen.
  • Verkapselung: seine Attribute vor Entitäten außerhalb des Objekts verbergen, damit es sie schützen kann.
  • Nachlass- Erstellen Sie spezifischere Objekte, die die grundlegenden Attribute und Methoden einer allgemeineren höheren Klasse erben.

Dieser Begriff bedeutet, dass er viele Formen hat. Das bedeutet, dass wir Operationen ausführen können, die je nach Typ oder Klasse des Objekts unterschiedlich funktionieren. Nehmen wir ein einfaches Beispiel, stellen wir uns vor, wir haben einen Warenkorb, dann definieren wir, wie wir die Preisdaten und das gewünschte Produkt erhalten möchten, wie wir in der folgenden Abbildung sehen, dass wir ein Tupel erstellen.

Was würde jetzt passieren, wenn die Funktionalität des Warenkorbs erweitert wird und wir jetzt mit Auktionen arbeiten, sollten wir in gewisser Weise die Werte angeben, die erhalten werden müssen und wie man sich bei der Verwendung der gleichen Methoden verhalten soll, so wie es viele denken würden Eine Funktion der folgenden Form zu machen ist jedoch nicht angebracht.

Wie wir im Bild sehen können, decken wir die Möglichkeiten des Augenblicks ab, aber was passiert, wenn die Funktionalitäten erweitert werden, müssen wir diesen Code für immer aktualisieren, hier kommt der Polymorphismus ins Spiel und was wir tun, ist, jeden zu definieren Das Objekt gibt seinen Preis unabhängig davon zurück, wie er berechnet wird, da er für jede Klasse intern ist, was wie folgt aussehen würde:

Wir können dann sehen, dass es etwas ist, das uns hilft, einen Code zu haben, der im Laufe der Zeit haltbarer und einfacher zu warten ist.
Dies besteht darin, die internen Details der Klasse vor der Außenwelt zu verbergen, sodass nur von seinen eigenen Objekten und Methoden darauf zugegriffen werden kann, können wir auf diese Weise mit Klassen arbeiten, ohne deren interne Funktionsweise kennen zu müssen, wodurch die Implementierungskomplexität beseitigt und die Logik in unseren Objekten geschützt wird.
Es erlaubt uns auch arbeiten mit der Gewissheit, dass die Daten innerhalb unseres Objekts nicht verändert werden, denn wenn sie abstrakt arbeiten, können wir mehrmals instanziieren und jede Instanz ist völlig individuell.
Sehen wir uns ein Beispiel für ein nicht gekapseltes Objekt an:

Hier sehen wir das, obwohl es war o1 der einen Satz des Namens gemacht hat, o2 auf denselben Namen zugreifen, ohne ihn festgelegt zu haben, dies wäre in einer Anwendung problematisch. Stellen wir uns vor, wir benötigen den Preis mehrerer Produkte und jedes überschreibt den Preis des vorherigen.
Sehen wir uns nun mit einer Kapselung an, wie der gesamte Ablauf des Programms funktionieren würde.

Hier sehen wir, dass jedes Objekt seinen Namen behält, also wissen wir, dass wir sicher arbeiten können, indem wir die richtigen Werte für jedes unserer Objekte erhalten.
wave wave wave wave wave