Java abstrakte Klasse

Java abstrakte Klasse
Das Konzept der Abstraktion besteht darin, die Aufgabe des Objekts hervorzuheben, anstatt hervorzuheben: "Wie das Objekt die Aufgabe erledigt". Diese Art von Konzept kann implementiert werden, indem zwei Möglichkeiten in Java verwendet werden. Dies sind die abstrakte Klasse und Schnittstelle. Die abstrakte Klasse enthält das Schlüsselwort abstrakt. Diese Klasse kann nicht wie andere normale Klassen initiiert werden, aber eine Unterklasse kann durch Erben der abstrakten Klasse abgeleitet werden. Die Merkmale der abstrakten Klasse können durch das Erstellen des Objekts der Unterklasse zugegriffen werden. Eine abstrakte Klasse kann auch den Konstruktor enthalten, auf den das Objekt der Unterklasse -Klasse erstellt werden kann. Wie Sie eine abstrakte Klasse in Java verwenden können, wird in diesem Tutorial gezeigt.

Syntax:

Zusammenfassung Klassenklassenname
variable_names;
Abstract -Methode1 ();
public method2 ()
Aussagen 1… n

Eine abstrakte Klasse kann Attribut oder Variablen, abstrakte Methoden und normale Methoden oder Personen enthalten. Die Unterklasse der abstrakten Klasse kann jedoch nur die abstrakte Methode der abstrakten Klasse implementieren.

Beispiel 1: Abstract-Klasse mit einer öffentlichen Methode

Das folgende Beispiel zeigt, wie Sie eine abstrakte Klasse mit einer öffentlichen Methode deklarieren können und wie eine abstrakte Klasse verwendet wird, indem Sie eine Unterklasse erstellen. Hier enthält die abstrakte Klasse eine öffentliche Methode mit dem Namen Einzelheiten() das wird in der abstrakten Klasse implementiert. Das Objekt der Unterklasse wurde erstellt, um auf die öffentliche Methode der abstrakten Klasse zuzugreifen.

// Die abstrakte Klasse mit öffentlicher Methode definieren
Zusammenfassung Klassenbuch
public void details ()
System.aus.println ("Buchname: Php in 15 Minuten lernen");
System.aus.println ("Autor Name: Jake Wright");
System.aus.println ("Rabattpreis: $ 35");


// Unterklasse definieren
Klasse PHP erweitert Buch

//Hauptklasse
Klasse Abstract1
public static void main (String [] args)
PHP BK = neuer PHP ();
bk.Einzelheiten();

Ausgang:

Nach dem Ausführen des Code wird die folgende Ausgabe angezeigt. Hier das Einzelheiten() Die Methode der abstrakten Klasse wird aufgerufen und der Text wird aus der Methode gedruckt.

Beispiel-2: Abstract-Klasse mit der abstrakten Methode und der öffentlichen Methode

Das folgende Beispiel zeigt, wie eine abstrakte Klasse mit Variablen, einer abstrakten Methode und einer öffentlichen Methode deklariert werden kann. Die Aussagen der öffentlichen Methode sind in der abstrakten Klasse definiert, aber der Körper der abstrakten Methode ist leer, die in der Unterklasse der abstrakten Klasse implementiert wird. Hier werden zwei Unterklassen durch Erweiterung der abstrakten Klasse deklariert. Die Unterklasse benannt Quadrat berechnet und druckt die Fläche eines quadratischen Basis auf dem Wert von N Variable. Die Unterklasse benannt Rechteck berechnet und druckt den Bereich des Rechtecks ​​basierend auf dem Wert von H Und w Variablen. Die öffentliche Methode, Readdata () wird von einem Parameter mit dem Namen genannt Typ Um festzustellen, welche Variablen der abstrakten Klasse initialisiert werden. Der Wert der Typ Variable ist 1 zur Initialisierung des Wertes von N und 2 zur Initialisierung des Wertes von H Und w.

// Definieren Sie eine abstrakte Klasse mit einer abstrakten Methode und einer öffentlichen Methode
abstrakter Klassenbereich
öffentliche int n, h, w;
abstraktes voides Ergebnis ();
public void readdata (int type)
if (type == 1)
n = 10;

anders
H = 20;
W = 30;



// Square Subclass definieren
Klasse Square erweitert die Fläche
public void result ()
// Berechnen Sie die Fläche des Quadrats
int AreaVal = n*n;
System.aus.println ("Die Fläche des Quadrats ist" + AreaVal);


// Rechteck -Unterklasse definieren
Klasse Rechteck erweitert den Bereich
public void result ()
// Berechnen Sie die Fläche des Rechtecks
int AreaVal = H*W;
System.aus.println ("Der Bereich des Rechtecks ​​ist" + AreaVal);


//Hauptklasse
Klasse Abstract2
public static void main (String [] args)
// Objekt der quadratischen Klasse erstellen
Square SQ = New Square ();
sq.Readdata (1);
sq.Ergebnis();
// Objekt der Rechteckklasse erstellen
Rechteck RQ = neues Rechteck ();
rq.Readdata (2);
rq.Ergebnis();

Ausgang:

Nach dem Ausführen des Code wird die folgende Ausgabe angezeigt. Die Ausgabe zeigt die Fläche eines Quadrats, wo der Wert von N Ist 10 und die Fläche eines Rechtecks, in dem der Wert von H Ist 20, und der Wert von w Ist 30.

Beispiel-3: abstrakte Klasse mit dem Konstruktor

Das folgende Beispiel zeigt, wie der Konstruktor in einer abstrakten Klasse deklariert und verwendet werden kann. Der Konstruktor der abstrakten Klasse initialisiert die Werte von A Und B. Die abstrakte Methode, maxval () wird in der benannten Unterklasse implementiert Findmax. super() Die Methode wird im Konstruktor der Unterklasse verwendet, um den Konstruktor einer abstrakten Klasse aufzurufen. Die abstrakte Methode maxval () Ermittelt den Maximalwert von zwei Zahlen, die den Parametern des Konstruktors der Unterklasse zum Zeitpunkt der Objekterstellung gegeben werden.

// Definieren Sie eine abstrakte Klasse mit einem Konstruktor
Zusammenfassung Klassenzahlen
// Variablen deklarieren
geschützte endgültige int a, b;
// abstrakter Klassenkonstruktor
öffentliche Zahlen (int x, int y)
Das.a = x;
Das.B = y;

// öffentliche Methode
öffentliche abstrakte void maxval ();

// Unterklasse definieren
Klasse findMax erweitert Zahlen
// Unterklassekonstruktor
public findMax (int x, int y)
// Abstrakte Klassenkonstruktor aufrufen
Super (x, y);

// Abstract -Methode implementieren
public void maxval ()
if (a> b)
System.aus.println (a + "ist größer als" + b);

anders
System.aus.println (b + "ist größer als" + a);



//Hauptklasse
Klasse Abstract3
public static void main (String [] args)
// Objekt der Unterklasse erstellen
findMax fmax = new findmax (34,89);
// Finden Sie das Maximum
fmax.maxval ();

Ausgang:

Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt. Hier, 34 Und 89 werden als Parameterwerte des Konstruktors angegeben. Diese Werte werden in der abstrakten Methode verglichen, die in der Unterklasse implementiert und die folgende Nachricht gedruckt wird.

Abschluss:

Eine abstrakte Klasse wird verwendet, um das Programm organisierter und verständlicher zu gestalten. Mehrere verwandte Klassen können unter Verwendung abstrakter Klassen gruppiert werden. Das Konzept und die Implementierung der abstrakten Klasse mit verschiedenen Teilen werden in diesem Tutorial anhand einfacher Beispiele erläutert. Ich hoffe.