- Objekt orientierte Programmierung
- Vorteil von OOPs gegenüber prozedurorientierter Programmiersprache
- Unterschied zwischen objektorientierter und objektbasierter Programmiersprache.
Auf dieser Seite lernen wir die Grundlagen von OOPs kennen. Objektorientierte Programmierung ist ein Paradigma, das viele Konzepte bereitstellt, wie z Nachlass , Datenbindung , Polymorphismus , usw.
Anfang gilt als die erste objektorientierte Programmiersprache. Das Programmierparadigma, bei dem alles als Objekt dargestellt wird, wird als wirklich objektorientierte Programmiersprache bezeichnet.
Smalltalk gilt als die erste wirklich objektorientierte Programmiersprache.
Die beliebtesten objektorientierten Sprachen sind Java , C# , PHP , Python , C++ , usw.
Das Hauptziel der objektorientierten Programmierung besteht darin, reale Entitäten zu implementieren, beispielsweise Objekte, Klassen, Abstraktion, Vererbung, Polymorphismus usw.
Algorithmus-Tiefensuche
OOPs (Objektorientiertes Programmiersystem)
Objekt bezeichnet ein reales Objekt wie einen Stift, einen Stuhl, einen Tisch, einen Computer, eine Uhr usw. Objekt orientierte Programmierung ist eine Methodik oder ein Paradigma zum Entwerfen eines Programms mithilfe von Klassen und Objekten. Es vereinfacht die Softwareentwicklung und -wartung durch die Bereitstellung einiger Konzepte:
Abgesehen von diesen Konzepten gibt es noch einige andere Begriffe, die im objektorientierten Design verwendet werden:
- Kupplung
- Zusammenhalt
- Verband
- Anhäufung
- Komposition
Objekt
Jede Entität, die einen Zustand und ein Verhalten hat, wird als Objekt bezeichnet. Zum Beispiel ein Stuhl, ein Stift, ein Tisch, eine Tastatur, ein Fahrrad usw. Es kann physisch oder logisch sein.
Ein Objekt kann als Instanz einer Klasse definiert werden. Ein Objekt enthält eine Adresse und nimmt etwas Platz im Speicher ein. Objekte können kommunizieren, ohne die Details der Daten oder des Codes des jeweils anderen zu kennen. Das einzig Notwendige ist die Art der akzeptierten Nachricht und die Art der von den Objekten zurückgegebenen Antwort.
Beispiel: Ein Hund ist ein Objekt, weil er Zustände wie Farbe, Name, Rasse usw. sowie Verhaltensweisen wie Schwanzwedeln, Bellen, Fressen usw. hat.
Klasse
Sammlung von Objekten heißt Klasse. Es ist eine logische Einheit.
Eine Klasse kann auch als Blaupause definiert werden, aus der Sie ein einzelnes Objekt erstellen können. Der Unterricht verbraucht keinen Platz.
Nachlass
Wenn ein Objekt alle Eigenschaften und Verhaltensweisen eines übergeordneten Objekts übernimmt , es wird als Vererbung bezeichnet. Es bietet Wiederverwendbarkeit des Codes. Es wird verwendet, um Laufzeitpolymorphismus zu erreichen.
Polymorphismus
Wenn Eine Aufgabe wird auf unterschiedliche Weise ausgeführt , es ist als Polymorphismus bekannt. Zum Beispiel: Den Kunden anders überzeugen, etwas zeichnen, zum Beispiel eine Form, ein Dreieck, ein Rechteck usw.
In Java verwenden wir Methodenüberladung und Methodenüberschreibung, um Polymorphismus zu erreichen.
Ein anderes Beispiel kann sein, etwas zu sprechen; Zum Beispiel spricht eine Katze Miauen, ein Hund bellt Wuff usw.
Abstraktion
Interne Details verbergen und Funktionalität anzeigen wird als Abstraktion bezeichnet. Zum Beispiel Telefonanruf, wir kennen die interne Verarbeitung nicht.
In Java verwenden wir abstrakte Klassen und Schnittstellen, um eine Abstraktion zu erreichen.
Verkapselung
Das Zusammenbinden (oder Verpacken) von Code und Daten in einer einzigen Einheit wird als Kapselung bezeichnet . Zum Beispiel eine Kapsel, darin sind verschiedene Medikamente verpackt.
Eine Java-Klasse ist das Beispiel für Kapselung. Java Bean ist die vollständig gekapselte Klasse, da hier alle Datenmitglieder privat sind.
Kupplung
Kopplung bezieht sich auf das Wissen oder die Information oder die Abhängigkeit einer anderen Klasse. Es entsteht, wenn Klassen sich gegenseitig bewusst werden. Wenn eine Klasse über die Detailinformationen einer anderen Klasse verfügt, liegt eine starke Kopplung vor. In Java verwenden wir private, geschützte und öffentliche Modifikatoren, um den Sichtbarkeitsgrad einer Klasse, Methode und eines Felds anzuzeigen. Für die schwächere Kopplung können Sie Schnittstellen verwenden, da es keine konkrete Implementierung gibt.
Zusammenhalt
Kohäsion bezieht sich auf die Ebene einer Komponente, die eine einzelne, genau definierte Aufgabe ausführt. Eine einzelne, genau definierte Aufgabe wird mit einer äußerst kohärenten Methode erledigt. Bei der schwach kohäsiven Methode wird die Aufgabe in einzelne Teile aufgeteilt. Das java.io-Paket ist ein äußerst kohäsives Paket, da es über E/A-bezogene Klassen und Schnittstellen verfügt. Das Paket java.util ist jedoch ein schwach zusammenhängendes Paket, da es nicht verwandte Klassen und Schnittstellen enthält.
Verband
Die Assoziation stellt die Beziehung zwischen den Objekten dar. Dabei kann ein Objekt einem Objekt oder mehreren Objekten zugeordnet werden. Es kann vier Arten der Assoziation zwischen den Objekten geben:
- Eins zu eins
- Eins zu vielen
- Viele zu Eins, und
- Viel zu viel
Lassen Sie uns die Beziehung anhand von Echtzeitbeispielen verstehen. Beispielsweise kann ein Land einen Premierminister haben (eins zu eins), und ein Premierminister kann viele Minister haben (eins zu viele). Außerdem können viele Abgeordnete einen Premierminister haben (viele zu eins) und viele Minister können viele Abteilungen haben (viele zu viele).
Die Assoziation kann undirektional oder bidirektional sein.
Array von Strukturen in C-Sprache
Anhäufung
Aggregation ist eine Möglichkeit, eine Assoziation zu erreichen. Aggregation stellt die Beziehung dar, bei der ein Objekt andere Objekte als Teil seines Zustands enthält. Es stellt die schwache Beziehung zwischen Objekten dar. Es wird auch als bezeichnet hat ein Beziehung in Java. Vererbung repräsentiert das ist ein Beziehung. Es ist eine weitere Möglichkeit, Objekte wiederzuverwenden.
Komposition
Die Komposition ist auch eine Möglichkeit, Assoziationen zu erreichen. Die Zusammensetzung stellt die Beziehung dar, bei der ein Objekt andere Objekte als Teil seines Zustands enthält. Es besteht eine starke Beziehung zwischen dem enthaltenden Objekt und dem abhängigen Objekt. Es ist der Zustand, in dem enthaltende Objekte keine unabhängige Existenz haben. Wenn Sie das übergeordnete Objekt löschen, werden alle untergeordneten Objekte automatisch gelöscht.
Vorteil von OOPs gegenüber prozedurorientierter Programmiersprache
1) OOPs erleichtern die Entwicklung und Wartung, wohingegen es in einer prozedurorientierten Programmiersprache nicht einfach zu verwalten ist, wenn der Code mit zunehmender Projektgröße wächst.
2) OOPs ermöglichen das Verbergen von Daten, während in einer prozedurorientierten Programmiersprache von überall aus auf globale Daten zugegriffen werden kann.
Abbildung: Datendarstellung in der prozedurorientierten Programmierung
Abbildung: Datendarstellung in der objektorientierten Programmierung
3) OOPs bieten die Möglichkeit, reale Ereignisse viel effektiver zu simulieren. Wir können die Lösung eines echten Wortproblems bereitstellen, wenn wir die objektorientierte Programmiersprache verwenden.
Was ist der Unterschied zwischen einer objektorientierten Programmiersprache und einer objektbasierten Programmiersprache?
Die objektbasierte Programmiersprache folgt allen Funktionen von OOPs mit Ausnahme der Vererbung. JavaScript und VBScript sind Beispiele für objektbasierte Programmiersprachen.
Wissen Sie?
- Können wir die Hauptmethode überladen?
- Ein Java-Konstruktor gibt einen Wert zurück, aber was?
- Können wir ein Programm ohne Hauptmethode erstellen?
- Welche sechs Möglichkeiten gibt es, dieses Schlüsselwort zu verwenden?
- Warum wird Mehrfachvererbung in Java nicht unterstützt?
- Warum Aggregation verwenden?
- Können wir die statische Methode überschreiben?
- Was ist der kovariante Rückgabetyp?
- Was sind die drei Verwendungszwecke des Java-Super-Schlüsselworts?
- Warum den Instanzinitialisierungsblock verwenden?
- Wozu dient eine leere Endvariable?
- Was ist eine Marker- oder getaggte Schnittstelle?
- Was ist Laufzeitpolymorphismus oder dynamischer Methodenversand?
- Was ist der Unterschied zwischen statischer und dynamischer Bindung?
- Wie ist Downcasting in Java möglich?
- Was ist der Zweck eines privaten Bauunternehmers?
- Was ist das Klonen von Objekten?
- Vorteil von OOPs
- Namenskonvention
- Objekt und Klasse
- Methodenüberladung
- Konstrukteur
- statisches Schlüsselwort
- dieses Schlüsselwort mit sechs Verwendungsmöglichkeiten
- Nachlass
- Anhäufung
- Methodenüberschreibung
- Kovarianter Rückgabetyp
- Super-Schlüsselwort
- Instanzinitialisierungsblock
- letztes Schlüsselwort
- Abstrakte Klasse
- Schnittstelle
- Laufzeitpolymorphismus
- Statische und dynamische Bindung
- Downcasting mit dem Instanzoperator
- Paket
- Zugriffsmodifikatoren
- Verkapselung
- Klonen von Objekten