Konzept der objektorientierten Programmierung (OOPs) in Java
Wie der Name schon sagt, bezieht sich das Konzept der objektorientierten Programmierung oder Java-OOPs auf Sprachen, die Objekte in der Programmierung verwenden. Sie verwenden Objekte als primäre Quelle, um zu implementieren, was im Code passieren soll. Objekte werden vom Betrachter oder Benutzer gesehen und führen die von Ihnen zugewiesenen Aufgaben aus.
Die objektorientierte Programmierung zielt darauf ab, reale Entitäten wie Vererbung, Verstecken, Polymorphismus usw. in der Programmierung zu implementieren. Das Hauptziel von OOP besteht darin, die Daten und die damit arbeitenden Funktionen so zu verbinden, dass kein anderer Teil des Codes außer dieser Funktion auf diese Daten zugreifen kann.
Lassen Sie uns die Voraussetzungen besprechen, indem wir die Konzepte der Methodendeklaration und der Nachrichtenübermittlung verfeinern. Beginnend mit der Methodendeklaration besteht sie aus sechs Komponenten:
- Zugriffsmodifikator : Definiert die Zugangsart der Methode, d. h. von wo in Ihrer Anwendung darauf zugegriffen werden kann. In Java gibt es vier Arten von Zugriffsspezifizierern:
- öffentlich: Verfügbar in allen Klassen Ihrer Anwendung.
- geschützt: Zugänglich innerhalb des Pakets, in dem es definiert ist, und in seinem Unterklasse(n) (einschließlich außerhalb des Pakets deklarierter Unterklassen) .
- Privat: Nur innerhalb der Klasse zugänglich, in der es definiert ist.
- Standard (deklariert/definiert ohne Verwendung eines Modifikators): Zugänglich innerhalb derselben Klasse und desselben Pakets, in dem die Klasse definiert ist.
- Der Rückgabetyp : Der Datentyp des von der Methode zurückgegebenen Werts oder void, wenn kein Wert zurückgegeben wird.
- Methodenname : Die Regeln für Feldnamen gelten auch für Methodennamen, die Konvention ist jedoch etwas anders.
- Parameterliste : Durch Kommas getrennte Liste der definierten Eingabeparameter mit vorangestelltem Datentyp in den eingeschlossenen Klammern. Wenn keine Parameter vorhanden sind, müssen Sie leere Klammern () verwenden.
- Ausnahmeliste : Die Ausnahmen, die die Methode voraussichtlich auslösen wird. Sie können diese Ausnahme(n) angeben.
- Methodenkörper : Es handelt sich um den in geschweiften Klammern eingeschlossenen Codeblock, den Sie ausführen müssen, um die beabsichtigten Vorgänge auszuführen.
Nachrichtenübermittlung : Objekte kommunizieren miteinander, indem sie sich gegenseitig Informationen senden und empfangen. Eine Nachricht für ein Objekt ist eine Aufforderung zur Ausführung einer Prozedur und ruft daher eine Funktion im empfangenden Objekt auf, die die gewünschten Ergebnisse generiert. Bei der Nachrichtenübermittlung werden der Name des Objekts, der Name der Funktion und die zu sendenden Informationen angegeben.
Meistern Sie OOP in Java Schreiben Sie saubereren, modulareren und wiederverwendbaren Java-Code, indem Sie mit dem interaktiven Kurs Learn von Educative eine Grundlage in der objektorientierten Programmierung schaffen Objektorientierte Programmierung in Java . Melden Sie sich mit dem Code bei Educative.io an GEEKS10 um 10 % auf Ihr Abonnement zu sparen.
Nachdem wir nun die Grundvoraussetzungen abgedeckt haben, gehen wir zu den folgenden vier Säulen von OOPs über. Aber beginnen wir damit, etwas über die verschiedenen Eigenschaften einer objektorientierten Programmiersprache zu lernen.
OOPS-Konzepte sind wie folgt:
- Klasse
- Objekt
- Methode Und Methodenübergabe
- Säulen von OOPs
- Abstraktion
- Verkapselung
- Nachlass
- Polymorphismus
- Polymorphismus zur Kompilierungszeit
- Laufzeitpolymorphismus
A Klasse ist ein benutzerdefinierter Entwurf oder Prototyp, aus dem Objekte erstellt werden. Es stellt den Satz von Eigenschaften oder Methoden dar, die allen Objekten eines Typs gemeinsam sind. Mithilfe von Klassen können Sie mehrere Objekte mit demselben Verhalten erstellen, anstatt ihren Code mehrmals schreiben zu müssen. Dazu gehören Klassen für Objekte, die mehr als einmal in Ihrem Code vorkommen. Im Allgemeinen können Klassendeklarationen diese Komponenten in der folgenden Reihenfolge enthalten:
- Modifikatoren : Eine Klasse kann öffentlich sein oder Standardzugriff haben (siehe Das für Details).
- Klassenname: Der Klassenname sollte mit dem Anfangsbuchstaben beginnen, der gemäß der Konvention großgeschrieben wird.
- Oberklasse (falls vorhanden): Der Name der übergeordneten Klasse (Superklasse), sofern vorhanden, mit vorangestelltem Schlüsselwort „extends“. Eine Klasse kann nur ein Elternteil erweitern (Unterklasse).
- Schnittstellen (falls vorhanden): Eine durch Kommas getrennte Liste der von der Klasse implementierten Schnittstellen (falls vorhanden), dem das Schlüsselwort „implements“ vorangestellt ist. Eine Klasse kann mehr als eine Schnittstelle implementieren.
- Körper: Der Klassenkörper ist von geschweiften Klammern {} umgeben.
Ein Objekt ist eine Grundeinheit der objektorientierten Programmierung, die reale Entitäten darstellt. Ein typisches Java-Programm erstellt viele Objekte, die, wie Sie wissen, durch den Aufruf von Methoden interagieren. Die Objekte führen Ihren Code aus, sie sind der Teil Ihres Codes, der für den Betrachter/Benutzer sichtbar ist. Ein Objekt besteht im Wesentlichen aus:
- Zustand : Es wird durch die Attribute eines Objekts dargestellt. Es spiegelt auch die Eigenschaften eines Objekts wider.
- Verhalten : Es wird durch die Methoden eines Objekts dargestellt. Es spiegelt auch die Reaktion eines Objekts auf andere Objekte wider.
- Identität : Es handelt sich um einen eindeutigen Namen, der einem Objekt gegeben wird und es ihm ermöglicht, mit anderen Objekten zu interagieren.
- Methode : Eine Methode ist eine Sammlung von Anweisungen, die eine bestimmte Aufgabe ausführen und das Ergebnis an den Aufrufer zurückgeben. Eine Methode kann eine bestimmte Aufgabe ausführen, ohne etwas zurückzugeben. Methoden ermöglichen es uns Wiederverwendung den Code eingeben, ohne ihn erneut einzugeben, weshalb sie berücksichtigt werden Zeitersparnis . In Java muss jede Methode Teil einer Klasse sein, was sich von ähnlichen Sprachen unterscheidet C , C++ , Und Python .
Klasse und Objekte ein einfaches Java-Programm:
Java public class GFG { static String Employee_name; static float Employee_salary; static void set(String n, float p) { Employee_name = n; Employee_salary = p; } static void get() { System.out.println('Employee name is: ' +Employee_name ); System.out.println('Employee CTC is: ' + Employee_salary); } public static void main(String args[]) { GFG.set('Rathod Avinash', 10000.0f); GFG.get(); } } Ausgabe
Employee name is: Rathod Avinash Employee CTC is: 10000.0
Lassen Sie uns nun die 4 Säulen von OOPs besprechen:
Säule 1: Abstraktion
Daten Abstraktion ist die Eigenschaft, durch die dem Benutzer nur die wesentlichen Details angezeigt werden. Die trivialen oder nicht wesentlichen Einheiten werden dem Benutzer nicht angezeigt. Beispiel: Ein Auto wird als Auto betrachtet und nicht als seine einzelnen Komponenten.
Datenabstraktion kann auch als der Prozess definiert werden, bei dem nur die erforderlichen Merkmale eines Objekts identifiziert und irrelevante Details ignoriert werden. Die Eigenschaften und Verhaltensweisen eines Objekts unterscheiden es von anderen Objekten ähnlichen Typs und helfen auch bei der Klassifizierung/Gruppierung des Objekts.
Betrachten Sie ein reales Beispiel eines Mannes, der ein Auto fährt. Der Mann weiß nur, dass das Betätigen des Gaspedals die Geschwindigkeit des Autos erhöht oder das Betätigen der Bremse das Auto anhält, aber er weiß nicht, wie sich die Geschwindigkeit beim Betätigen des Gaspedals tatsächlich erhöht. Er kennt weder den inneren Mechanismus des Autos noch die Umsetzung der Gaspedale, Bremsen usw. im Auto. Das ist Abstraktion.
In Java wird Abstraktion erreicht durch Schnittstellen Und abstrakte Klassen . Mithilfe von Schnittstellen können wir eine 100-prozentige Abstraktion erreichen.
Die abstrakte Methode enthält nur die Methodendeklaration, aber keine Implementierung.
Demonstration der Abstraktklasse
Java //abstract class abstract class GFG{ //abstract methods declaration abstract void add(); abstract void mul(); abstract void div(); } Säule 2: Verkapselung
Es ist definiert als das Zusammenfassen von Daten in einer einzigen Einheit. Es ist der Mechanismus, der den Code und die Daten, die er manipuliert, miteinander verbindet. Eine andere Möglichkeit, über Kapselung nachzudenken, besteht darin, dass es sich um einen Schutzschild handelt, der verhindert, dass der Code außerhalb dieses Schutzschilds auf die Daten zugreift.
- Technisch gesehen, in Verkapselung , sind die Variablen oder Daten in einer Klasse vor jeder anderen Klasse verborgen und können nur über eine beliebige Mitgliedsfunktion der Klasse, in der sie deklariert sind, aufgerufen werden.
- Bei der Kapselung werden die Daten in einer Klasse vor anderen Klassen verborgen, was dem ähnelt Datenverstecken tut. Daher werden die Begriffe Kapselung und Datenverbergung synonym verwendet.
- Die Kapselung kann erreicht werden, indem alle Variablen in einer Klasse als privat deklariert werden und öffentliche Methoden in die Klasse geschrieben werden, um die Werte der Variablen festzulegen und abzurufen.
Demonstration der Kapselung:
Java //Encapsulation using private modifier //Employee class contains private data called employee id and employee name class Employee { private int empid; private String ename; } Säule 3: Nachlass
Nachlass ist eine wichtige Säule von OOP (Object Oriented Programming). Dabei handelt es sich um den Mechanismus in Java, der es einer Klasse ermöglicht, die Funktionen (Felder und Methoden) einer anderen Klasse zu erben. Wir erreichen Vererbung durch Verwendung erweitert Stichwort. Vererbung wird auch als Vererbung bezeichnet ist ein Beziehung.
Lassen Sie uns einige häufig verwendete wichtige Terminologien besprechen:
- Superklasse: Die Klasse, deren Merkmale geerbt werden, wird als Superklasse (auch Basis- oder Elternklasse genannt) bezeichnet.
- Unterklasse: Die Klasse, die die andere Klasse erbt, wird als Unterklasse (auch als abgeleitete oder erweiterte oder untergeordnete Klasse bezeichnet) bezeichnet. Die Unterklasse kann zusätzlich zu den Feldern und Methoden der Oberklasse eigene Felder und Methoden hinzufügen.
- Wiederverwendbarkeit: Vererbung unterstützt das Konzept der Wiederverwendbarkeit, d. h. wenn wir eine neue Klasse erstellen möchten und es bereits eine Klasse gibt, die einen Teil des gewünschten Codes enthält, können wir unsere neue Klasse von der vorhandenen Klasse ableiten. Auf diese Weise verwenden wir die Felder und Methoden der vorhandenen Klasse wieder.
Nachweis der Vererbung:
Java //base class or parent class or super class class A{ //parent class methods void method1(){} void method2(){} } //derived class or child class or base class class B extends A{ //Inherits parent class methods //child class methods void method3(){} void method4(){} } Säule 4: Polymorphismus
Es bezieht sich auf die Fähigkeit objektorientierter Programmiersprachen, effizient zwischen Entitäten mit demselben Namen zu unterscheiden. Dies geschieht durch Java mit Hilfe der Signatur und Deklaration dieser Entitäten. Die Fähigkeit, in vielen Formen zu erscheinen, nennt man Polymorphismus .
Z.B.
Java sleep(1000) //millis sleep(1000,2000) //millis,nanos
Notiz: Es gibt hauptsächlich zwei Arten von Polymorphismus in Java:
- Überlastung
- Überschreiben
Beispiel
Java // Java program to Demonstrate Polymorphism // This class will contain // 3 methods with same name, // yet the program will // compile & run successfully public class Sum { // Overloaded sum(). // This sum takes two int parameters public int sum(int x, int y) { return (x + y); } // Overloaded sum(). // This sum takes three int parameters public int sum(int x, int y, int z) { return (x + y + z); } // Overloaded sum(). // This sum takes two double parameters public double sum(double x, double y) { return (x + y); } // Driver code public static void main(String args[]) { Sum s = new Sum(); System.out.println(s.sum(10, 20)); System.out.println(s.sum(10, 20, 30)); System.out.println(s.sum(10.5, 20.5)); } } Ausgabe
30 60 31.0
Abschluss
Das Konzept der objektorientierten Programmierung (OOPs) in Java ist eine leistungsstarke Möglichkeit, Code zu organisieren und zu schreiben. Es nutzt Schlüsselideen wie Klassen, Objekte, Vererbung, Polymorphismus, Kapselung und Abstraktion, um flexiblen und wiederverwendbaren Code zu erstellen. Durch die Verwendung des Java-OOPs-Konzepts können Programmierer komplexe Anwendungen effizienter erstellen, wodurch der Code einfacher zu verwalten, zu verstehen und zu ändern ist. Insgesamt helfen die OOPs-Konzepte von Java bei der Erstellung robuster und skalierbarer Softwarelösungen.
Konzept der objektorientierten Programmierung (OOPs) in Java – FAQ
Was ist das OOPs-Konzept in Java?
OOPs (Object-Oriented Programming) ist ein Programmierparadigma, das auf dem Konzept von Objekten basiert, die Daten in Form von Feldern (Attributen oder Eigenschaften) und Code in Form von Prozeduren (Methoden oder Funktionen) enthalten können. In Java umfassen OOPs-Konzepte Kapselung, Vererbung, Polymorphismus und Abstraktion.
Warum sind OOPs in Java wichtig?
OOPs helfen dabei, Code besser zu verwalten und zu strukturieren und erleichtern so die Wartung und Skalierung von Java-Anwendungen. Es fördert außerdem die Wiederverwendbarkeit, Modularität und Flexibilität von Code und führt so zu einer effizienten und robusten Softwareentwicklung.
Was sind die Hauptprinzipien von OOPs in Java?
Die Hauptprinzipien von OOPs in Java sind Kapselung, Vererbung, Polymorphismus und Abstraktion. Durch die Kapselung wird sichergestellt, dass der interne Zustand eines Objekts verborgen bleibt und nur über öffentliche Methoden darauf zugegriffen werden kann. Durch Vererbung kann eine Klasse Eigenschaften und Verhalten von einer anderen Klasse erben. Polymorphismus ermöglicht die Behandlung von Objekten als Instanzen ihrer übergeordneten Klasse. Bei der Abstraktion geht es darum, die Implementierungsdetails zu verbergen und der Außenwelt nur die notwendigen Informationen anzuzeigen.
Wie werden OOPs in Java implementiert?
In Java werden OOPs durch Klassen und Objekte implementiert. Eine Klasse dient als Blaupause für die Erstellung von Objekten, die Instanzen dieser Klasse sind. Jedes Objekt verfügt über einen eigenen Satz von Attributen (Variablen) und Methoden (Funktionen). Durch die Befolgung von OOPs-Konzepten wie Kapselung, Vererbung, Polymorphismus und Abstraktion können Java-Entwickler gut strukturierten und wartbaren Code entwerfen.
Welche Vorteile bietet die Verwendung von OOPs in Java?
Zu den Vorteilen der Verwendung von OOPs in Java gehören die Wiederverwendbarkeit des Codes, Modularität, Flexibilität, Skalierbarkeit und eine einfachere Wartung. Mit OOPs können Entwickler reale Entitäten als Objekte modellieren, was zu intuitiverem und organisierterem Code führt. Es unterstützt auch Funktionen wie Vererbung und Polymorphismus, die die Erweiterbarkeit und Lesbarkeit von Java-Anwendungen verbessern.
Können Sie ein Beispiel für die Implementierung des OOPs-Konzepts in Java geben?
Sicher! Ein Beispiel für die Implementierung des OOPs-Konzepts in Java ist die Erstellung einer „Car“-Klasse mit Attributen wie „make“, „model“ und „year“ sowie Methoden wie „start()“, „accelerate()“ und „stop“. ()'. Durch die Instanziierung von Objekten aus der Klasse „Car“ und den Aufruf ihrer Methoden können wir das Verhalten verschiedener Autoinstanzen strukturiert und objektorientiert simulieren.