Abstraktion ein Java

Was ist Abstraktion in Java?

Abstraktion ist das Konzept der objektorientierten Programmierung, das nur wesentliche Attribute โ€žzeigtโ€œ und unnรถtige Informationen โ€žverbirgtโ€œ. Der Hauptzweck der Abstraktion besteht darin, den Benutzern unnรถtige Details vorzuenthalten. Bei der Abstraktion werden Daten aus einem grรถรŸeren Pool ausgewรคhlt, um dem Benutzer nur relevante Details des Objekts anzuzeigen. Dies trรคgt dazu bei, die Komplexitรคt und den Aufwand der Programmierung zu reduzieren. Es ist eines der wichtigsten Konzepte der OOP.

Klicken Sie auf werden auf dieser Seite erlรคutert wenn das Video nicht zugรคnglich ist

Lassen Sie uns die Abstraktion in OOPs anhand eines Beispiels untersuchen:

Angenommen, Sie mรถchten eine Bankanwendung erstellen und werden aufgefordert, alle Informationen รผber Ihren Kunden zu sammeln. Es besteht die Mรถglichkeit, dass Sie folgende Informationen รผber den Kunden erhalten:

Abstraktion ein Java
Abstraktion ein Java

Aber nicht alle der oben genannten Informationen sind erforderlich, um eine Bankanwendung zu erstellen. Sie mรผssen also nur die nรผtzlichen Informationen fรผr Ihre Bankanwendung aus diesem Pool. Daten wie Name, Adresse, Steuerinformationen usw. sind fรผr eine Bankanwendung sinnvoll, die ein Abstraktionsbeispiel in OOPs ist

Abstraktion ein Java

Da wir die Kundeninformationen aus einem grรถรŸeren Pool abgerufen/entfernt/ausgewรคhlt haben, wird der Vorgang als Abstraktion bezeichnet Hoppla. Dieselben Informationen kรถnnen jedoch nach der Extraktion fรผr eine Vielzahl von Anwendungen verwendet werden. Sie kรถnnen beispielsweise dieselben Daten mit nur geringen oder keinen ร„nderungen fรผr eine Krankenhausbewerbung, eine Bewerbung auf einem Jobportal, eine Regierungsdatenbank usw. verwenden. Daher werden sie zu Ihren Stammdaten. Dies ist ein Vorteil der Abstraktion in OOPs.

Unterschied zwischen Abstraktion und Verkapselung

Abstraktion Kapselung
Abstraktion in der objektorientierten Programmierung lรถst die Probleme auf Entwurfsebene. Die Kapselung lรถst die Implementierungsebene.
Bei der Abstraktion in der Programmierung geht es darum, unerwรผnschte Details zu verbergen und gleichzeitig die wichtigsten Informationen anzuzeigen. Kapselung bedeutet, den Code und die Daten in einer einzigen Einheit zusammenzufassen.
Datenabstraktion in Java ermรถglicht die Konzentration auf den Inhalt des Informationsobjekts Kapselung bedeutet, die internen Details oder Mechanismen der Funktionsweise eines Objekts aus Sicherheitsgrรผnden zu verbergen.

Unterschied zwischen abstrakter Klasse und Schnittstelle

Abstrakte Klasse Interface
Eine abstrakte Klasse kann sowohl abstrakte als auch nicht abstrakte Methoden haben. Die Schnittstelle kann nur abstrakte Methoden haben.
Mehrfachvererbungen werden nicht unterstรผtzt. Es unterstรผtzt Mehrfachvererbungen.
Es kann die Implementierung der Schnittstelle bereitstellen. Die Implementierung der abstrakten Klasse kann nicht bereitgestellt werden.
Eine abstrakte Klasse kann geschรผtzte und abstrakte รถffentliche Methoden haben. Eine Schnittstelle kann nur รผber รถffentliche abstrakte Methoden verfรผgen.
Eine abstrakte Klasse kann eine endgรผltige, statische oder statische Endvariable mit einem beliebigen Zugriffsspezifizierer haben. Die Schnittstelle kann nur eine รถffentliche statische Endvariable haben.

Was ist Abstraktklasse?

ABSTRAKTE KLASSE ist ein Klassentyp in Java, die eine oder mehrere abstrakte Methoden deklarieren. Diese Klassen kรถnnen sowohl abstrakte als auch konkrete Methoden haben. Eine normale Klasse kann keine abstrakten Methoden haben. Eine abstrakte Klasse ist eine Klasse, die mindestens eine abstrakte Methode enthรคlt. Wir kรถnnen das Konzept verstehen durch die Formbeispiel in Java.

Betrachten Sie die folgende Klassenhierarchie, die aus einer Shape-Klasse besteht, die von drei Klassen geerbt wird: Rectangle, Circle und Triangle. Die Shape-Klasse wird erstellt, um gemeinsame Attribute und Methoden zu speichern, die von den drei Klassen Rectangle, Circle und Triangle gemeinsam genutzt werden. calculateArea() ist eine solche Methode, die von allen drei untergeordneten Klassen gemeinsam genutzt wird und in der Shape-Klasse vorhanden ist.

Abstrakte Klasse in Java

Beispiel fรผr eine Formabstraktion

Nehmen wir nun an, Sie schreiben Code, um Objekte fรผr die oben dargestellten Klassen zu erstellen. Beobachten wir, wie diese Objekte werden in einer praktischen Welt aussehen. Ein Objekt der Klasse โ€žRechteckโ€œ ergibt ein Rechteck, eine Form, die wir im Alltag so hรคufig beobachten.

Abstrakte Klasse

Ein Objekt der Klasse Dreieck ergibt ein Dreieck, wiederum eine alltรคgliche Alltagsform.

Abstrakte Klasse

Aber wie wรผrde ein Objekt der Klassenform in einer praktischen Welt aussehen?

Abstrakte Klasse

Wenn Sie beobachten, dient die Shape-Klasse in unser Ziel zu erreichen Erbschaft und Polymorphismus. Aber es wurde nicht fรผr die Instanziierung erstellt. Solche Klassen kรถnnen beschriftet werden Abstract. Eine abstrakte Java-Klasse kann nicht instanziiert werden.

Syntax:

abstract class Shape{
	// code
}

Es ist mรถglich, dass Sie die Shape-Klasse NICHT als โ€žAbstraktโ€œ kennzeichnen und sie dann instanziieren. Ein solches Objekt wird jedoch in Ihrem Code keinen Nutzen haben und Raum fรผr potenzielle Fehler schaffen. Daher ist dies nicht wรผnschenswert.

Was sind abstrakte Methoden in Java?

ABSTRAKTE METHODE in Javaist eine Methode, die nur die Methodendefinition hat, aber keine Implementierung enthรคlt. Eine Methode ohne Kรถrper wird als abstrakte Methode bezeichnet. Es muss in einer abstrakten Klasse deklariert werden. Die abstrakte Methode wird niemals endgรผltig sein, da die abstrakte Klasse alle abstrakten Methoden implementieren muss.

Wie wir alle wissen, ist die Formel zur Flรคchenberechnung fรผr Rechtecke, Kreise und Dreiecke unterschiedlich. Die Methode โ€žcalcureArea()โ€œ muss von den erbenden Klassen รผberschrieben werden. Es macht keinen Sinn, es in der Shape-Klasse zu definieren. Wir mรผssen jedoch sicherstellen, dass alle erbenden Klassen รผber die Methode verfรผgen.

Solche Methoden kรถnnen beschriftet werden abstrakt.

Syntax:

abstract public void calculateArea();

Fรผr ein abstrakte Methode, keine Implementierung erforderlich. Es wird nur die Signatur der Methode definiert.

Beispiel fรผr einen Abstraktionscode

abstract class Shape{  
  abstract void calculateArea();  
}  
 class guru99 extends Shape{  
void calculateArea(){System.out.println("Area of Shape");}  
public static void main(String args[]){  
 Shape obj = new guru99();  
 obj.calculateArea();
}  
}

Vorteile der Abstraktion

  • Der Hauptvorteil der Verwendung einer Abstraktion in Programmierung besteht darin, dass Sie mehrere verwandte Klassen als Geschwister gruppieren kรถnnen.
  • Abstraktion in der objektorientierten Programmierung trรคgt dazu bei, die Komplexitรคt des Entwurfs- und Implementierungsprozesses von Software zu reduzieren.

Letztes Schlรผsselwort in Java

Der letzte Modifikator gilt fรผr Klassen, Methoden und Variablen. Die Bedeutung von final variiert von Kontext zu Kontext, aber die Grundidee ist dieselbe.

  • Eine letzte Klasse kann nicht vererbt werden
  • Eine letzte Variable wird zu einer Konstante und ihr Wert kann nicht geรคndert werden.
  • Eine letzte Methode kann nicht รผberschrieben werden. Dies geschieht aus Sicherheitsgrรผnden und diese Methoden dienen der Optimierung.

Beispiel :- Um abstrakte und endgรผltige Schlรผsselwรถrter zu lernen

Schritt 1) Kopieren Sie den folgenden Code in einen Editor.

abstract class Shape{
   final int b = 20;
   public void display(){
     System.out.println("This is display method");
   }
   abstract public void calculateArea();
}

public class Rectangle extends Shape{
   public static void main(String args[]){
      Rectangle obj = new Rectangle();
      obj.display();
     //obj.b=200;
  }
  //public void calculateArea(){}
}

Schritt 2) Speichern, kompilieren und fรผhren Sie den Code aus.

Schritt 3) Fehler =? Die abstrakte Methode ist nicht in der Klasse Rechteck implementiert. Um das Problem zu beheben, kommentieren Sie Zeile Nr. 15 aus.

Schritt 4) Kommentieren Sie Zeile Nr. 13 aus. Speichern und kompilieren Sie den Code.

Schritt 5) Fehler = ? Variable b ist endgรผltig

Wann sollten abstrakte Methoden und abstrakte Klassen verwendet werden?

Abstrakte Methoden werden meist dort deklariert, wo zwei oder mehr Unterklassen durch unterschiedliche Implementierungen dasselbe auf unterschiedliche Weise tun. Es erweitert auรŸerdem dieselbe Abstract-Klasse und bietet verschiedene Implementierungen der abstrakten Methoden.

Abstrakte Klassen helfen dabei, generische Verhaltenstypen und die Klassenhierarchie der objektorientierten Programmierung zu beschreiben. Sie beschreiben auch Unterklassen, um Implementierungsdetails der abstrakten Klasse bereitzustellen.

Zusammenfassung:

  • Abstraktion in der Programmierung ist der Prozess der Auswahl wichtiger Datensรคtze fรผr eine Betreff in Ihrer Software und lassen Sie die unbedeutenden weg.
  • Sobald Sie Ihr Objekt mit Datenabstraktion modelliert haben in Java, derselbe Datensatz kรถnnte in verschiedenen Anwendungen verwendet werden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: