OOPs in Java: Kapselung, Vererbung, Polymorphismus, Abstraktion

Veröffentlicht in: Articles | 0

Im letzten Artikel haben wir OOPs-Konzepte diskutiert. Wenn Sie es noch nicht ausgecheckt haben, empfehle ich Ihnen dringend, es zu lesen, damit Sie einen grundlegenden Überblick über alle objektorientierten Programmierkonzepte haben. In diesem Handbuch werden wir vier wichtige Merkmale von OOPs anhand von Beispielen aus dem wirklichen Leben diskutieren.

Objekt-Orientierten Ansatz : Eine Einführung

Java ist eine objektorientierte Sprache, weil es bietet Funktionen zur Implementierung einer Objekt-orientierten Modell., Diese Funktionen umfassen Abstraktion, Kapselung, Vererbung und Polymorphismus.

Bei OOPS geht es darum, eine Anwendung um ihre Daten herum zu entwickeln, dh Objekte, die den Zugriff auf ihre Eigenschaften und die möglichen Operationen auf ihre eigene Weise ermöglichen.

Abstraktion

Eines der grundlegendsten Konzepte von OOPs ist Abstraktion. Abstraktion ist ein Prozess, bei dem Sie nur „relevante“ Daten anzeigen und unnötige Details eines Objekts vor dem Benutzer „verbergen“., Wenn Sie sich beispielsweise online bei Ihrem Amazon-Konto anmelden, geben Sie Ihre user_id und Ihr Passwort ein und drücken login, was passiert, wenn Sie auf Login klicken, wie die an den Amazon-Server gesendeten Eingabedaten und wie sie überprüft werden, werden alle von Ihnen abstrahiert.

Ein weiteres Beispiel für Abstraktion: Ein Auto an sich ist ein genau definiertes Objekt, das aus mehreren anderen kleineren Objekten wie einem Getriebesystem, einem Lenkmechanismus und einem Motor besteht haben wieder ihre eigenen Subsysteme., Aber für den Menschen Auto ist ein ein einzelnes Objekt, das mit Hilfe seiner Subsysteme verwaltet werden kann, auch wenn ihre inneren Details unbekannt sind.

Kapselung

Dieser Beitrag liefert die theoretische Erklärung der Kapselung mit realen Beispielen. Eine detaillierte Erklärung zu diesem Thema mit Java-Programmen finden Sie unter Kapselung in Java mit Beispiel.

Kapselung ist:

  • Bindung der Daten mit dem Code, der sie manipuliert.
  • Es schützt die Daten und den Code vor externen Störungen

Am Beispiel eines Servolenkungsmechanismus eines Autos., Servolenkung eines Autos ist ein komplexes System, die intern viele Komponenten eng miteinander gekoppelt haben, arbeiten sie synchron, um das Auto in die gewünschte Richtung zu drehen. Es steuert sogar die vom Motor an das Lenkrad abgegebene Leistung. Aber für die Außenwelt gibt es nur eine Schnittstelle zur Verfügung steht und der Rest der Komplexität verborgen ist. Darüber hinaus ist die Lenkeinheit an sich vollständig und unabhängig. Es hat keinen Einfluss auf die Funktion eines anderen Mechanismus.

In ähnlicher Weise kann dasselbe Konzept der Kapselung auf Code angewendet werden., Gekapselter Code sollte folgende Eigenschaften haben:

  • Jeder weiß, wie man darauf zugreift.
  • Kann unabhängig von Implementierungsdetails problemlos verwendet werden.
  • Es sollten keine Nebenwirkungen des Codes auf den Rest der Anwendung auftreten.

Die Idee der Kapselung besteht darin, Klassen getrennt zu halten und zu verhindern, dass sie eng miteinander gekoppelt sind.

Ein Beispiel für die Kapselung ist die Klasse von Java.util.Hashtable. Der Benutzer weiß nur, dass er Daten in Form eines Schlüssel/Wert-Paares in einer Hashtabelle speichern und diese Daten auf verschiedene Arten abrufen kann., Aber die eigentliche Implementierung wie, wie und wo diese Daten tatsächlich gespeichert werden, ist vor dem Benutzer verborgen. Der Benutzer kann Hashtable einfach überall dort verwenden, wo er Schlüssel/Wert-Paare speichern möchte, ohne sich um die Implementierung zu kümmern.

Vererbung

Dieser Beitrag liefert die theoretische Erklärung der Vererbung mit realen Beispielen. Ausführliche Erläuterungen zu diesem Thema mit Java-Programmen finden Sie unter Vererbung mit Beispielen und Arten der Vererbung in Java.

  • Vererbung ist der Mechanismus, mit dem ein Objekt die some/all Eigenschaften eines anderen Objekts erwirbt.,
  • Es unterstützt das Konzept der hierarchischen Klassifikation.

Zum Beispiel: Auto ist ein Vierradfahrzeug, also nehmen wir an, dass wir eine Klasse haben Vierrad und eine Unterklasse davon mit dem Namen Car. Hier erwirbt Car die Eigenschaften einer Klasse FourWheeler. Andere Klassifikationen könnten ein Jeep, Tempo, Van usw. sein. FourWheeler definiert eine Klasse von Fahrzeugen, die vier Räder haben,und spezifischen Bereich der Motorleistung, Tragfähigkeit usw., Auto (als Unterklasse bezeichnet) erwirbt diese Eigenschaften von FourWheeler und hat einige spezifische Eigenschaften, die sich von anderen Klassifikationen von FourWheeler unterscheiden, wie Luxus, Komfort, Form, Größe, Nutzung usw.

Ein Auto kann eine weitere Klassifizierung haben, z. B. ein offenes Auto, ein kleines Auto, ein großes Auto usw., das die Eigenschaften sowohl von Vierrädern als auch von Autos erhält, aber immer noch einige spezifische Eigenschaften aufweist. Auf diese Weise kann die Hierarchieebene auf jede Ebene erweitert werden.

Java Swing-und Awt-Klassen sind die besten Beispiele für die Vererbung.,

Polymorphismus

Dieser Beitrag liefert die theoretische Erklärung des Polymorphismus mit realen Beispielen. Eine detaillierte Erklärung zu diesem Thema mit Java-Programmen finden Sie unter Polymorphismus in Java und Laufzeit & Kompilierzeitpolymorphismus.

  • Polymorphismus bedeutet, Objekte basierend auf ihrem Datentyp unterschiedlich zu verarbeiten.
  • Mit anderen Worten, es bedeutet eine Methode mit mehreren Implementierungen für eine bestimmte Aktionsklasse. Und welche Implementierung verwendet werden soll, wird zur Laufzeit abhängig von der Situation entschieden (dh,, Datentyp des Objekts)
  • Dies kann durch Entwerfen einer generischen Schnittstelle implementiert werden, die generische Methoden für eine bestimmte Aktionsklasse bereitstellt, und es können mehrere Klassen vorhanden sein, die die Implementierung dieser generischen Methoden bereitstellen.

Lassen Sie uns das gleiche Beispiel eines Autos betrachten. Ein Auto hat ein Getriebesystem. Es hat vier Vorderräder und einen Rückwärtsgang. Wenn der Motor beschleunigt wird, wird je nachdem, welcher Gang eingelegt ist, unterschiedliche Menge Leistung und Bewegung an das Auto geliefert., Die Aktion ist die gleiche wie bei Gear, aber basierend auf der Art des Zahnrads verhält sich die Aktion anders oder man kann sagen, dass sie viele Formen zeigt (Polymorphismus bedeutet viele Formen)

Polymorphismus könnte sowohl statisch als auch dynamisch sein. Methodenüberladung ist statischer Polymorphismus, während Methodenüberladung dynamischer Polymorphismus ist.

  • Überladen in einfachen Worten bedeutet, dass mehr als eine Methode denselben Methodennamen hat, der sich basierend auf den beim Aufrufen der Methode übergebenen Argumenten unterschiedlich verhält., Dies wird als statisch bezeichnet, da zum Zeitpunkt der Kompilierung entschieden wird, welche Methode aufgerufen werden soll
  • Das Überschreiben bedeutet, dass eine abgeleitete Klasse eine Methode ihrer Superklasse implementiert. Der Aufruf der überschriebenen Methode wird zur Laufzeit aufgelöst, daher runtime polymorphism

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.