Java

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 in Java auf zwei Arten implementiert werden. Dies sind die abstrakte Klasse und das Interface. Abstrakte Klasse enthält das Schlüsselwort abstrakt. Diese Klasse kann nicht wie andere normale Klassen initiiert werden, aber eine Unterklasse kann durch Vererbung der abstrakten Klasse abgeleitet werden. Auf die Funktionen der abstrakten Klasse kann zugegriffen werden, indem das Objekt der Unterklasse erstellt wird. Eine abstrakte Klasse kann auch den Konstruktor enthalten, auf den durch Erstellen des Objekts der Unterklasse Klasse zugegriffen werden kann. Wie Sie eine abstrakte Klasse in Java verwenden können, wird in diesem Tutorial gezeigt.

Syntax:

abstrakte Klasse Klassenname
Variablennamen;
abstrakte Methode1();
öffentliche Methode2()
Aussagen 1… N

Eine abstrakte Klasse kann Attribut oder Variablen, abstrakte Methode und normale Methode oder eine beliebige davon enthalten. Aber die Unterklasse der abstrakten Klasse kann nur die abstrakte Methode der abstrakten Klasse implementieren.

Beispiel-1: Abstrakte Klasse mit einer öffentlichen Methode

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

//Definiere abstrakte Klasse mit öffentlicher Methode
abstraktes Klassenbuch
öffentliche Lückendetails ()
System.aus.println("Buchname: PHP in 15 Minuten lernen");
System.aus.println("Name des Autors: Jake Wright");
System.aus.println("Rabattpreis: $35");


//Unterklasse definieren
Klasse PHP erweitert Buch

//Hauptklasse
Klasse abstrakt1
public static void main(String[] args)
php bk = neues php ();
bk.Einzelheiten();

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Codes. Hier die Einzelheiten() Methode der abstrakten Klasse wird aufgerufen, und der Text wird von der Methode ausgegeben.

Beispiel-2: Abstrakte 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 Anweisungen der öffentlichen Methode sind in der abstrakten Klasse definiert, aber der Rumpf der abstrakten Methode ist leer, der in der Unterklasse der abstrakten Klasse implementiert ist. Hier werden zwei Unterklassen deklariert, indem die abstrakte Klasse erweitert wird. Die Unterklasse namens Quadrat berechnet und druckt die Fläche eines Quadrats basierend auf dem Wert von nein Variable. Die Unterklasse namens Rechteck berechnet und druckt die Fläche des Rechtecks ​​basierend auf dem Wert von ha und w Variablen. Die öffentliche Methode, readData() wird von einem Parameter namens . aufgerufen Art um zu identifizieren, welche Variable(n) der abstrakten Klasse initialisiert werden. Der Wert der Art Variable wird 1 sein, um den Wert von . zu initialisieren nein und 2 zum Initialisieren des Wertes von ha und w.

//Definieren einer abstrakten Klasse mit einer abstrakten Methode und einer öffentlichen Methode
abstrakter Klassenbereich
public int n, h, w;
abstraktes leeres Ergebnis();
public void readData(int type)
if (typ == 1)
n = 10;

sonst
h = 20;
w = 30;



//Definiere quadratische Unterklasse
Klassenquadrat erweitert die Fläche
öffentliches leeres Ergebnis ()
//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 Bereich
öffentliches leeres Ergebnis ()
// Berechnen Sie die Fläche des Rechtecks
int areaVal = h*w;
System.aus.println("Die Fläche des Rechtecks ​​ist " + areaVal);


//Hauptklasse
Klasse abstrakt2
public static void main(String[] args)
//Objekt der quadratischen Klasse erstellen square
quadratisches Quadrat = neues Quadrat ();
Quadratmeter.readData(1);
Quadratmeter.Ergebnis();
//Objekt der Rechteckklasse erstellen
Rechteck rq = neues Rechteck ();
rq.readData(2);
rq.Ergebnis();

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Codes. Die Ausgabe zeigt die Fläche eines Quadrats, bei der der Wert von nein ist 10 und die Fläche eines Rechtecks, wo der Wert von ha ist 20, und der Wert von w ist 30.

Beispiel-3: Abstrakte Klasse mit dem Konstruktor

Das folgende Beispiel zeigt, wie der Konstruktor innerhalb einer abstrakten Klasse deklariert und verwendet werden kann. Der Konstruktor der abstrakten Klasse initialisiert die Werte von ein und b. Die abstrakte Methode, maxval() ist in der Unterklasse namens . implementiert findMax. Super() Methode wird im Konstruktor der Unterklasse verwendet, um den Konstruktor einer abstrakten Klasse aufzurufen. Die abstrakte Methode maxval() findet den maximalen Wert von zwei Zahlen heraus, die den Parametern des Konstruktors der Unterklasse zum Zeitpunkt der Objekterstellung gegeben werden.

//Definiere eine abstrakte Klasse mit einem Konstruktor
abstrakte Klassennummern
// Variablen deklarieren
geschütztes Finale int a, b;
//abstrakter Klassenkonstruktor
öffentliche Nummern (int x,int y)
diese.a = x;
diese.b = y;

//Öffentliche Methode
öffentliche Zusammenfassung void maxval();

//Unterklasse definieren
Klasse findMax erweitert Zahlen
//Unterklassenkonstruktor
public findMax(int ​​x,int y)
//Abstrakten Klassenkonstruktor aufrufen
super(x,y);

//Abstrakte Methode implementieren
öffentliches Void maxval()
wenn(a > b)
System.aus.println(a + " ist größer als " + b);

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



//Hauptklasse
Klasse abstrakt3
public static void main(String[] args)
//Objekt der Unterklasse erstellen
findMax fmax = neu findMax(34,89);
//Finde das Maximum
fmax.maxval();

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts. Hier, 34 und 89 werden als Parameterwerte des Konstruktors angegeben. Diese Werte werden in der abstrakten Methode, die in der Unterklasse implementiert ist, verglichen und die folgende Meldung ausgegeben.

Fazit:

Eine abstrakte Klasse wird verwendet, um das Programm übersichtlicher und verständlicher zu machen. Mehrere verwandte Klassen können mit abstrakten Klassen gruppiert werden. Das Konzept und die Implementierung der abstrakten Klasse mit verschiedenen Teilen werden in diesem Tutorial anhand einfacher Beispiele erklärt. Ich hoffe, dass die Leser die Verwendung der abstrakten Klasse verstehen und in ihrem Code richtig anwenden können, nachdem sie dieses Tutorial gelesen haben their.

So verwenden Sie Xdotool zum Stimulieren von Mausklicks und Tastenanschlägen in Linux
Xdotool ist ein kostenloses Open-Source-Befehlszeilentool zum Simulieren von Mausklicks und Tastenanschlägen. Dieser Artikel enthält eine kurze Anleit...
Top 5 ergonomische Computermaus-Produkte für Linux
Verursacht längere Computernutzung Schmerzen im Handgelenk oder in den Fingern?? Leiden Sie unter steifen Gelenken und müssen ständig die Hände schütt...
So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten...