OOP-Konzepte und Beispiele, die jeder Programmierer kennen sollte
Veröffentlicht: 2021-02-26In diesem Artikel behandeln wir die grundlegenden Konzepte der objektorientierten Programmierung und erörtern die häufig verwendeten Begriffe: Abstraktion, Kapselung, Vererbung und Polymorphismus.
Zunächst einmal ist OOP eine Programmiermethodik, bei der die Programmierer Objekte erstellen und sie im gesamten Programm innerhalb der Funktionen verwenden müssen, die solche Objekte für ihren Betrieb benötigen. Der Grund, warum das OOPs-Konzept in Java ausgiebig verwendet wird, ist, dass es die Wiederverwendbarkeit von Code ermöglicht und gleichzeitig die Sicherheit aufrechterhält.
Bevor wir über die vier Säulen der objektorientierten Programmierung sprechen, machen wir uns mit den allgemeinen Begriffen vertraut, die wir sehr oft hören, wenn wir eine der objektorientierten Sprachen verwenden: Java, Python, C++.
Inhaltsverzeichnis
Klasse
Eine Klasse ist eine Sammlung von Objekten, die eine Reihe von Eigenschaften definiert, die allen Objekten eines bestimmten Typs gemeinsam sind. Es kann auch als Blaupause zum Erstellen von Objekten bezeichnet werden. Eine Klasse umfasst die folgenden Komponenten:
Klassenname : Der Name einer Klasse, der mit einem Großbuchstaben beginnt.
Modifikatoren: Basierend auf der Funktionalität der Klasse können Modifikatoren entweder public, private oder default sein.
Körper : Der Klassenkörper enthält alle Codes zu den in der Klasse vorhandenen Objekten. Dies kann vom Deklarieren beliebiger Variablen oder dem Erstellen von Konstruktoren oder Methoden reichen, die die Funktionsweise eines Objekts enthalten.
Objekt
Ein Objekt ist als Instanz einer Klasse definiert und enthält reale Entitäten. Zum Beispiel sind die Objekte einer Klasse namens Tiere eine Katze, ein Hund, ein Elefant und andere. Jedes Objekt hat seine eigene Identität, sein eigenes Attribut und sein eigenes Verhalten. Der folgende Code zeigt die Verwendung von Klasse, Objekt und Methode beim Programmieren in der Java-Sprache.
Methoden
Methoden werden innerhalb einer Klasse definiert und werden verwendet, um eine bestimmte Funktion auszuführen. Die Methode kann einen Eingabeparameter enthalten oder nicht. Der folgende Code zeigt die Verwendung von Klasse, Objekt und Methode beim Programmieren in der Java-Sprache.
Im obigen Code ist Spieler der Name, der unserer Klasse gegeben wurde, während Läufe ein Parameter sind, der in der Methode Batsman übergeben wird, die die von ihm erzielten Läufe zurückgibt, wenn sie über ein Objekt namens myobj aufgerufen wird.
Zugriffsmodifikatoren
Die Zugriffsmodifikatoren in Java definieren die Zugänglichkeit oder den Umfang einer Methode oder eines Konstruktors oder der Klasse. Die vier Arten von Zugriffsmodifikatoren sind:
- Öffentlich : Der innerhalb einer Klasse geschriebene Code ist für andere Klassen zugänglich.
- Privat : Auf den geschriebenen Code kann nur innerhalb dieser bestimmten Klasse zugegriffen werden.
- Standard : Der geschriebene Code ist innerhalb desselben Pakets zugänglich.
- Protected : Der Code ist innerhalb eines Pakets und auch über eine Unterklasse zugänglich. In Abwesenheit einer untergeordneten Klasse kann nicht auf den Code zugegriffen werden.
Lassen Sie uns nun fortfahren und über den Kern der objektorientierten Programmierung sprechen.
Nachlass
Der Begriff Vererbung bezieht sich auf die Vererbung der Eigenschaften einer Klasse an eine andere. Die Eigenschaften beziehen sich auf die Attribute und Methoden der übergeordneten Klasse. Die Elternklasse ist die Klasse, deren Eigenschaften von anderen Klassen geerbt werden müssen. Die Klassen, die die Eigenschaften der übergeordneten Klasse erben, werden als untergeordnete Klasse oder Unterklasse bezeichnet. Um die Eigenschaften der Elternklasse in die Kindklasse zu vererben, wird ein Schlüsselwort namens extend verwendet.
Im obigen Beispiel ist der Sponsor die übergeordnete Klasse mit dem Besitzer als Attribut. Wir haben eine Unterklasse namens Team erstellt, die die übergeordnete Klasse Sponsor erbt. Wir haben ein Team-Objekt erstellt, das auf die Eigenschaften der übergeordneten Klasse zugreifen kann. Die Ausgabe des obigen Codes ist:
Polymorphismus
Wie der Name schon sagt, ist Polymorphismus die Fähigkeit einer Variablen oder einer Funktion, in mehreren Formen zu existieren. Polymorphismus ermöglicht es dem Programmierer, verschiedene Aufgaben mit derselben Variablen oder Funktion auszuführen. Ein reales Beispiel für Polymorphismus wäre ein offener Boden, jetzt kann dieser Boden zum Sporttreiben genutzt werden.
Außerdem könnte es auch verwendet werden, um Hochzeiten und Konzerte zu organisieren. Schließlich kann das gleiche Gelände zum Parken von Fahrzeugen verwendet werden. Daraus können wir schließen, dass eine einzelne Variable je nach Verwendung mehrere Implementierungen haben kann.
Beim Polymorphismus stoßen wir normalerweise auf zwei Begriffe, nämlich Methodenüberladung und Methodenüberschreibung .
Beim Methodenüberladen kann eine einzelne Methode auf vielfältige Weise verwendet werden und verschiedene Funktionen ausführen. Die Methoden haben denselben Namen, es können jedoch unterschiedliche Parameter als Eingabe verwendet werden.
In Method Overriding kann die Methode der übergeordneten Klasse von der untergeordneten Klasse überschrieben werden. Damit kann sich dieselbe Methode unterschiedlich verhalten, wenn sie von der Elternklasse und der Kindklasse aufgerufen wird.
Ein Beispiel für den Polymorphismus ist unten gezeigt:
In diesem Beispiel können wir mit derselben Methode mehrere Aufgaben ausführen. Dieselbe Methode Voice würde bei Verwendung in Bird „Turr Turr“ und bei Verwendung mit Duck „Quack Quack“ ausgeben. Der Schnappschuss der Ausgabe ist unten gezeigt-
Abstraktion
Abstraktion ist der Prozess, bestimmte Daten vor den Benutzern zu verbergen und ihnen nur die erforderlichen Informationen anzuzeigen. Beim Autofahren zum Beispiel kümmern wir uns nicht um interne Funktionen oder Mechanismen. Was uns angezeigt wird, sind die Geschwindigkeit, mit der das Auto gefahren wird, und die verfügbaren Liter Benzin. Alle anderen marginalisierten Daten werden dem Fahrer nicht angezeigt.
Das Schlüsselwort abstract wird für Methoden und Klassen verwendet, während eine Abstraktion durchgeführt wird. Für eine abstrakte Klasse können wir kein Objekt erstellen, während die abstrakte Methode keinen Körper enthalten sollte. Wenn eine der beiden Regeln verletzt wird, generiert die Ausgabe einen Fehler.
Hier haben wir ein Objekt der Unterklasse Duck erstellt, das von der Hauptklasse Bird geerbt wird. Die Ausgabe ist unten dargestellt:
Verkapselung
Kapselung ist der Vorgang, bei dem der Code und die Daten zu einer einzigen Einheit zusammengebunden werden. Hier werden die Variablen einer Klasse vor anderen Klassen verborgen (durch Verwendung des Schlüsselworts private ), auf die jedoch nur über eine Member-Funktion zugegriffen werden kann. Setter- und Getter-Funktionen werden verwendet, um auf die privaten Variablen einer abstrakten Klasse zuzugreifen.
Bisher haben wir alles behandelt, was mit objektorientierter Programmierung mit Java zu tun hat. Bevor wir zum Schluss kommen, lassen Sie uns einen Blick auf einige der Vorteile des OOP-Konzepts werfen.
- Der Code kann leicht wiederverwendet werden und spart somit viel Zeit und Kosten für die Entwicklung von Codes.
- Es hilft dabei, den Code gut strukturiert zu entwerfen, so dass jeder neue Programmierer nicht viele Stunden damit verbringen muss, den Code zu verstehen.
- Es hilft Benutzern nicht nur beim effizienten Schreiben von Code, sondern stellt auch sicher, dass die Sicherheit nicht beeinträchtigt wird.
Checkout: Fragen und Antworten zu OOPs-Interviews
Lernen Sie Softwarekurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Fazit
Abschließend haben wir in diesem Blog die grundlegenden Konzepte von OOPs behandelt. Diese Konzepte werden in großem Umfang in der Industrie und anderen Anwendungen verwendet. Um ein kompetenter Programmierer zu werden, sollte man ein solides Verständnis dieser Konzepte haben. In den kommenden Blogs werden wir mehrere andere grundlegende Programmierkonzepte aufdecken, die Ihnen helfen werden, Fachwissen in diesem Bereich zu entwickeln.
Wenn Sie mehr über Full-Stack-Softwareentwicklung erfahren möchten, schauen Sie sich das Executive PG-Programm in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenge Schulungen, mehr als 9 Projekte und mehr bietet Aufgaben, IIIT-B-Alumni-Status, praktische praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Firmen.] Eine Fakultät ist eine mathematische Operation, die das Produkt einer gegebenen Zahl und aller Zahlen darunter zählt. Eine Fakultät ist ein Produkt, das angibt, wie oft eine Zahl mit Eins multipliziert wird. Zum Beispiel ist die Fakultät von 5 5x4x3x2x1, was 120 entspricht. Die Fakultät von 1 ist 1 und die Fakultät von 0 ist ebenfalls 1. Das Programm zum Finden einer Fakultät einer Zahl ist die am häufigsten gestellte Interviewfrage und ist etwas das sollte auf den Spitzen Ihrer Hand sein. Fakultät einer Zahl n ist definiert als n! = 1 × 2 × 3 × 4 × … × n. Fakultät von 5 ist 120. Die Fakultätsfunktion ist definiert als Fakultät(5) = 120. Eine rekursive Funktion ist eine Funktion, die sich selbst aufruft. Dies ist ein Beispiel für eine Fakultätsfunktion im rekursiven Stil Fakultät(n) = n * Fakultät(n - 1). Das Schreiben eines faktoriellen Rekursionsprogramms ist sehr einfach und der Code ist der iterativen Version sehr ähnlich. Um die iterative Version zu schreiben, verwenden wir eine Variable namens n, inkrementieren sie um eins und multiplizieren sie mit der Variablen namens prod, die die aufeinanderfolgenden Werte von n verfolgt. Der Ausgabewert wird auch in der Variablen namens prod gespeichert. In der rekursiven Version verwenden Sie immer noch eine Variable namens n. Sie benötigen jedoch keine Variable, um den Wert von prod zu speichern, und Sie können prod direkt von der Funktion zurückgeben. Das Wort Rekursion leitet sich vom lateinischen Wort recurrere ab, was „zurückkehren“ bedeutet. In den meisten Programmiersprachen wird eine Funktion, die sich selbst aufruft, als Rekursion bezeichnet. Dieser Schleifenprozess wird fortgesetzt, bis der Basisfall erreicht ist, der in keiner rekursiven Funktion definiert ist. Rekursion ist eine effektive Technik, um ein Problem strukturiert und organisiert zu lösen. Es ist eine gute Programmierstrategie. Beispielsweise können das Problem der Fibonacci-Reihe, das Fakultätsproblem usw. sowohl iterativ als auch rekursiv gelöst werden. Was ist eine Fakultät?
Wie schreibt man ein faktorielles Rekursionsprogramm?
Was ist Rekursion in der Programmierung?