Objektorientierte Programmierung bezieht sich auf das Konzept in Hochsprachen wie Java und Python, das Objekte und Klassen in ihren Implementierungen verwendet. OOP hat vier Hauptbausteine: Polymorphismus, Kapselung, Abstraktion und Vererbung., Es gibt andere Programmierparadigmen wie Prozedurale Programmierung, in denen Codes nacheinander geschrieben werden. Python und Java sind Multi-Paradigmen-High-Level-Programmiersprachen, dh sie unterstützen sowohl die OOP-als auch die prozedurale Programmierung. Ein Programmierer entscheidet anhand seines Fachwissens und der Probleme, die er zu lösen versucht, über das zu verwendende Paradigma. Es gibt jedoch keine Kontroverse darüber, dass OOP das Programmieren einfacher, schneller, dynamischer und sicherer macht., Dies ist ein Hauptgrund, warum Java und Python heute die beliebtesten Programmiersprachen der Welt sind
Wenn Sie Java und Python oder andere objektorientierte Programmiersprachen lernen möchten, müssen Sie diese objektorientierten Programmierparadigmen verstehen, die ein relativ einfach zu verstehendes Konzept sind. Schauen wir uns sie an.
Was ist Vererbung?
In Java und Python werden Codes in Objekte oder Blöcke geschrieben, wenn Sie die OOP-Methodik anwenden., Objekte können miteinander interagieren, indem sie die Eigenschaften jedes Blocks verwenden oder die Funktionalitäten eines Blocks durch Vererbung erweitern. Vererbung stellt sicher, dass Codes wiederverwendet werden. Es gibt Millionen von Java – und Python-Bibliotheken, die ein Programmierer durch Vererbung verwenden kann. Die Eigenschaften einer Klasse können von anderen Klassen oder Funktionen vererbt und erweitert werden. Es gibt zwei Arten von Klassen. Eine ist die übergeordnete oder Basisklasse und die andere ist die untergeordnete Klasse, die die Eigenschaften der übergeordneten Klasse erben kann. Vererbung ist eine wichtige Säule in der objektorientierten Programmierung., Es ist der Mechanismus, mit dem Klassen in Java, Python und anderen OOP-Sprachen das Attribut anderer Klassen erben
Eine übergeordnete Klasse kann ihre Attribute mit einer untergeordneten Klasse teilen. Ein Beispiel für eine übergeordnete Klassenimplementierung befindet sich in DDL (Dynamic-Link Library). Eine DDL kann verschiedene Klassen enthalten, die von anderen Programmen und Funktionen verwendet werden können
Ein reales Beispiel für Vererbung ist eine Mutter und ein Kind. Das Kind kann Attribute wie Größe, Sprachmuster und Farbe erben., Die Mutter kann auch andere Kinder mit den gleichen Attributen reproduzieren
Sie können eine Funktion oder Klasse namens „Move Robot“ erstellen, die einen Roboter zum Bewegen steuert. Und Sie könnten Methoden und Funktionen in anderen Programmen erstellen, die die „Move Robot“ – Klasse erben können, ohne die Codes immer wieder neu zu schreiben. Sie können diese Klasse auch erweitern, indem Sie sie erben und einige weitere Codes schreiben, die einen Roboter anweisen, sich zu bewegen und unter bestimmten Umständen auch mit der if and else-Anweisung auszuführen., Mit der Vererbung können Sie mehrere Roboter erstellen, die die Attribute der übergeordneten Klasse „Roboter verschieben“ erben, wodurch die Wiederverwendbarkeit des Codes sichergestellt wird.
Zusammenfassend befasst sich die Vererbung mit der Beziehung zwischen Klassen und Methoden, die wie ein Elternteil und ein Kind ist. Ein Kind kann mit einigen Attributen der Eltern geboren werden. Die Vererbung gewährleistet die Wiederverwendbarkeit von Codes genau so, wie mehrere Kinder die Attribute ihrer Eltern erben können.,
Wenn wir eine Funktion, Methode oder Klasse erstellen möchten, suchen wir nach einer Oberklasse, die den Code oder einen Teil des Codes enthält, den wir implementieren möchten. Wir können dann unsere Klasse von der bestehenden ableiten. In Java tun wir dies mit dem Schlüsselwort „Extends“, und in Python erreichen wir dies, indem wir die Attribute einer Klasse erben, indem wir den Klassennamen aufrufen.
arbeiten Sie im Betrieb?
Wussten Sie, dass eine App wie NerdVision MTTR (Mean-Time-To-Repair) verbessern kann?,
Kapselung
Dies ist ein Programmierstil, in dem Implementierungsdetails ausgeblendet sind. Es reduziert die Komplexität der Softwareentwicklung erheblich. Bei der Kapselung werden nur Methoden verfügbar gemacht. Der Programmierer muss sich nicht um Implementierungsdetails kümmern, sondern befasst sich nur mit den Vorgängen. Wenn ein Entwickler beispielsweise eine dynamische Linkbibliothek zum Anzeigen von Datum und Uhrzeit verwenden möchte, muss er sich keine Gedanken über die Codes in der Datums-und Uhrzeitklasse machen, sondern er würde einfach die Daten-und Uhrzeitklasse verwenden, indem er öffentliche Variablen verwendet, um sie aufzurufen., Im Wesentlichen wird die Kapselung in Python und Java erreicht, indem private Variablen erstellt werden, in denen versteckte Klassen definiert werden, und dann öffentliche Variablen verwendet werden, um sie zur Verwendung aufzurufen. Mit diesem Ansatz kann eine Klasse aktualisiert oder gepflegt werden, ohne sich Gedanken über die Methoden zu machen, die sie verwenden. Wenn Sie eine Klasse in zehn Methoden aufrufen und Änderungen vornehmen müssen, müssen Sie nicht die gesamten Methoden aktualisieren, sondern eine einzelne Klasse aktualisieren. Sobald die Klasse geändert wurde, werden die Methoden automatisch entsprechend aktualisiert. Die Kapselung stellt auch sicher, dass Ihre Daten vor externen Änderungen verborgen sind., Kapselung wird auch als Data-Hidden bezeichnet.
Die Kapselung kann als Abschirmung angesehen werden, die den Zugriff von Daten durch externen Code verhindert.
Im Wesentlichen bindet die Kapselung Daten und Code als eine Einheit und erzwingt die Modularität.
Polymorphismus
Polymorphismus bedeutet, dass die bestehenden in vielen Formen. Variablen, Funktionen und Objekte können in Java und Python in mehreren Formen vorhanden sein., Es gibt zwei Arten von Polymorphismus, die Laufzeitpolymorphismus und Kompilierzeitpolymorphismus sind. Die Laufzeit kann eine andere Form annehmen, während die Anwendung ausgeführt wird, und die Kompilierungszeit kann während der Kompilierung eine andere Form annehmen.
Ein hervorragendes Beispiel für Polymorphismus bei objektorientierter Programmierung ist ein Cursorverhalten. Ein Cursor kann je nach Verhalten des Benutzers oder des Programmmodus verschiedene Formen annehmen, z. B. einen Pfeil, eine Linie, ein Kreuz oder andere Formen., Mit Polymorphismus kann eine Methode oder Unterklasse ihr Verhalten und ihre Attribute definieren, während sie einen Teil der Funktionalität ihrer übergeordneten Klasse beibehält. Dies bedeutet, dass Sie eine Klasse haben können, die Datum und Uhrzeit anzeigt, und dann können Sie eine Methode erstellen, um die Klasse zu erben, sollte aber eine Willkommensnachricht neben Datum und Uhrzeit anzeigen. Die Ziele des Polymorphismus in der objektorientierten Programmierung sind es, Einfachheit zu erzwingen, Codes erweiterbarer zu machen und Anwendungen einfach zu warten.,
Mit der Vererbung können Sie Klassenhierarchien erstellen, bei denen eine Basisklasse das Verhalten und die Attribute einer abgeleiteten Klasse angibt. Sie können dann die Funktionalität ändern oder erweitern. Polymorphismus stellt sicher, dass die richtige Methode basierend auf dem Typ des aufrufenden Objekts ausgeführt wird.
Programmcodes würden in einem anderen Betriebssystem unterschiedlich ausgeführt. Die Fähigkeit von Programmcode, der unterschiedliche Verhaltensweisen im gesamten Betriebssystem aufweist, wird in OOP als Polymorphismus bezeichnet. Sie können eine Klasse namens „Move“ erstellen und dann vier Personen Tiere erstellen, die die Move-Klasse erben würden., Aber wir wissen nicht, welche Art von Tieren sie erschaffen würden. So würde Polymorphismus den Tieren erlauben, sich zu bewegen, aber in verschiedenen Formen basierend auf den physikalischen Merkmalen
A erzeugt eine Schnecke, die die Bewegungsklasse erbt, aber die Schnecke würde kriechen
B erzeugt ein Känguru, das die Bewegungsklasse erbt, aber das Känguru würde springen
C erzeugt einen Hund, der die Bewegungsklasse erbt, aber die Hunde würden gehen
D erzeugt einen Fisch, der die Bewegungsklasse erbt, aber der Fisch würde schwimmen.
Polymorphismus hat dafür gesorgt, dass sich diese Tiere alle bewegen, aber in verschiedenen Formen., Wie sich die Programme verhalten würden, sei erst zur Laufzeit bekannt.
Entwickler und Operationen müssen für den Erfolg zusammenarbeiten.
Die NerdVision App bringt diese beiden Teams zusammen, um das Leben für alle besser zu machen
Abstraktion
Abstraktion in Java und Python ist eine Programmiermethode, bei der Details der Programmiercodes vor dem Benutzer verborgen sind und nur die wesentlichen Dinge dem Benutzer angezeigt werden. Abstraktion beschäftigt sich eher mit Ideen als mit Ereignissen., Es ist wie ein Benutzer, der ein Programm (Webbrowser) ausführt, ohne die Hintergrundcodes zu sehen. Abstraktion wird entweder in abstrakten Klassen oder Schnittstelle in Java und Python erreicht. NetBeans und Eclipse IDE implementiert Abstraktion für Java, während Django Abstraktion für Python implementiert.
Ein Programmierer verwendet eine integrierte Entwicklungsumgebung, um eine Benutzeroberfläche zu entwerfen, ohne sich Gedanken darüber zu machen, wie die IDE die HTML-Codes generiert. Im Wesentlichen zeigt die Abstraktion die wesentlichen Details für den Benutzer allein an.,
Fazit
Die Hauptidee hinter objektorientierter Programmierung ist Einfachheit, Wiederverwendbarkeit von Code, Erweiterbarkeit und Sicherheit. Diese werden durch Verkapselung, Abstraktion, Vererbung und Polymorphismus erreicht. Damit eine Sprache als OOP klassifiziert werden kann, muss sie diese 4 OOP-Blöcke haben. Abstraktion hat damit zu tun, dem Benutzer nur den relevanten Aspekt anzuzeigen, z. B. das Radio einzuschalten, aber Sie müssen nicht wissen, wie das Radio funktioniert. Abstraktion sorgt für Einfachheit. Vererbung hat mit Methoden und Funktionen zu tun, die die Attribute einer anderen Klasse erben., Das Hauptziel ist die Wiederverwendung von Code, die sicherstellt, dass Programme schneller entwickelt werden. DRY (wiederholen Sie sich nicht) ist ein Vererbungskonzept, das impliziert, dass Sie in einem Programm keine ähnlichen Codes haben sollten. Haben Sie stattdessen eine Klasse und verwenden Sie andere Methoden, um sie aufzurufen und die Funktionalitäten bei Bedarf zu erweitern. Durch Polymorphismus kann Programmcode unterschiedliche Bedeutungen oder Funktionen haben, während die Kapselung Klassen privat hält, sodass sie nicht durch externe Codes geändert werden können.