Eine vollständige Einführung in abstrakte Klassen in Java

Dieser Artikel hilft Ihnen mit einem detaillierten Ansatz für die abstrakten Klassen in Java sowie mit Beispielen, um das Konzept besser zu verstehen.

Abstrakte Klassen in Helfen Sie den Benutzern, eine Abstraktion zu erreichen. Dies ist die wichtigste objektorientierte Programmierpraxis, die während des Software-Designprozesses angewendet wird. In diesem Artikel werden wir die Terminologie von abstrakten Klassen anhand des folgenden Dokuments diskutieren.

Was sind abstrakte Klassen in Java?

Abstrakte Klassen in fungieren als Grenze zwischen der Implementierungsmethode und ihrer Funktionalität. Es wird verwendet, um die Funktionalität zwischen dem auszutauschen Beton Klassenmitglieder und die Abstrakt Klasse.



Abstract-Classes-in-Java-Edureka

Abstrakte Klassen werden als solche Klassen betrachtet, die das verbergen Methodenimplementierung Details vom Benutzer und zeigen nur die Methodenfunktionalität. Sie werden mit dem Schlüsselwort deklariert abstrakt . Diese Methoden können umfassen Abstrakt und Nicht abstrakt Methoden in ihnen.

Arten von Operatoren in Javascript

Warum brauchen wir abstrakte Klassen in Java?

Wir benötigen abstrakte Klassen in Java aus folgenden Gründen:

  • Unterstützung für abstrakte Klassen Dynamische Methodenauflösung zur Laufzeit
  • Sie helfen Benutzern zu erreichen Lose Kopplung
  • Abstrakte Klassen trennen die Methodendefinition vom Vererbten Unterklassen
  • Sie bieten die Standardfunktionalität der definierten Methode für alle Unterklassen
  • Abstrakte Klassen bieten a Vorlage für zukünftige spezifische Klassen
  • Die abstrakte Klasse erlaubt Code Wiederverwendbarkeit

Regeln für die Verwendung von abstrakten Klassen in Java

Um eine abstrakte Klasse in Java zu implementieren, müssen wir die folgenden Regeln befolgen:

  • Eine abstrakte Klasse muss mit dem deklariert werden abstrakt Stichwort.
  • Abstrakte Klassen können enthalten abstrakt und nicht abstrakt Methoden.
  • Eine abstrakte Klasse kann nicht sein instanziiert.
  • Sie können enthalten Konstruktoren und statisch Methoden.
  • Eine abstrakte Klasse enthält Finale Methoden.

Möglichkeiten zur Abstraktion in Java

Der Prozess der Abstraktion in Java kann durch die folgenden zwei Methoden erreicht werden, wie unten erwähnt:

  1. Implementieren einer abstrakten Klasse
  2. Implementierung einer Schnittstelle

Die Syntax für abstrakte Klassen

Die Syntax zum Definieren von abstrakten Klassen und abstrakten Methoden lautet wie folgt:

abstrakte Klasse Edureka {}
abstrakte Klasse Methode ()

Praktische Beispiele für abstrakte Klassen

//Abstrakte Klasse

package Abstract public abstract class Person {privater Stringname private String Geschlecht public Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Override public String toString () {return ' Name = '+ this.name +' :: Gender = '+ this.gender}}

// Schülerklasse

package Abstract public class Student erweitert Person {private int StudentID public Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Override public void Studying () {if (StudentID == 0 ) {System.out.println ('Nicht studieren')} else {System.out.println ('Abschluss eines Bachelor of Engineering')}} public static void main (String args []) {Person student = neuer Student ('Priya', 'weiblich', 0) Person student1 = neuer Student ('Karan', 'männlich', 201021) Person student2 = neuer Student ('Kumari', 'weiblich', 101021) Person student3 = neuer Student (' John ',' Male ', 201661) student.Studying () student1.Studying () student2.Studying () student3.Studying () System.out.println (student.toString ()) System.out.println (student1.toString ()) System.out.println (student2.toString ()) System.out.println (student3.toString ())}}

Ausgabe:

beste ide für die java entwicklung

Nicht lernend
Abschluss in Bachelor of Engineering
Abschluss in Bachelor of Engineering
Abschluss in Bachelor of Engineering
Name = Priya :: Geschlecht = weiblich
Name = Karan :: Geschlecht = männlich
Name = Kumari :: Geschlecht = weiblich
Name = John :: Geschlecht = männlich

Unterschied zwischen Schnittstelle und abstrakter Klasse

Schnittstelle Abstrakte Klasse
Kann nur abstrakte Methoden habenKann abstrakte und nicht abstrakte Methoden haben
Es gibt nur endgültige VariablenEs enthält nicht endgültige Variablen
Es gibt nur statische und endgültige VariablenEs verfügt über statische, nicht statische, endgültige und nicht endgültige Variablen
Implementiert die abstrakte Klasse nichtKann eine Schnittstelle implementieren
Implementiert mit dem Schlüsselwort 'implementiert'Implementiert mit dem Schlüsselwort 'Erweitert'
Kann nur eine Schnittstelle erweiternKann Java-Klassen und -Schnittstellen erweitern
Mitglieder sind standardmäßig öffentlichMitglieder können privat und geschützt sein

// Beispiel für eine abstrakte Klasse

Paket abstactVSinterface abstrakte Klasse Shape {String objectName = '' Shape (String name) {this.objectName = name} abstrakte öffentliche doppelte Fläche () abstrakte öffentliche void draw ()} Klasse Rechteck erweitert Form {int Länge, Breite Rechteck (int Länge, int width, String name) {super (name) this.length = length this.width = width} @Override public void draw () {System.out.println ('Rechteck wird gezeichnet')} @Override public double area () {return (double) (Länge * Breite)}} Klasse Kreis erweitert Form {double pi = 3.14 int Radius Kreis (int Radius, String Name) {super (Name) this.radius = Radius} @Override public void draw () { System.out.println ('Kreis wird gezeichnet')} @Override public double area () {return (double) ((pi * Radius * Radius) / 2)}} Klasse Edureka {public static void main (String [] args ) {Shape rect = neues Rechteck (20, 30, 'Rectangle') System.out.println ('Fläche des Rechtecks:' + rect.area ()) Formkreis = neuer Kreis (20, 'Cicle') System.out .println ('Kreisfläche ist:' + circle.area ())}}

Ausgabe:

trim () in Java

Fläche des Rechtecks: 600,0
Die Kreisfläche beträgt: 628,0

// Schnittstellenbeispiel

Paket absVSint-Schnittstelle Shape {void draw () double area ()} Klasse Rectangle implementiert Shape {int Länge, Breite Rechteck (int Länge, int Breite) {this.length = Länge this.width = width} @Override public void draw () {System.out.println ('Rechteck wurde gezeichnet')} @Override public double area () {return (double) (Länge * Breite)}} Klasse Kreis implementiert Form {double pi = 3.14 int radius Kreis (int radius) {this.radius = radius} @Override public void draw () {System.out.println ('Kreis wurde gezeichnet')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} Klasse Edureka {public static void main (String [] args) {Form rect = neues Rechteck (20, 30) System.out.println ('Bereich des Rechtecks:' + rect.area ()) Formkreis = neuer Kreis (20) System.out.println ('Kreisfläche:' + circle.area ())}}

Ausgabe:

Fläche des Rechtecks: 600,0
Kreisfläche: 628,0

Damit sind wir am Ende dieses Artikels angelangt. Ich hoffe, Sie haben die Bedeutung von Abstraktion, Syntax, Funktionalität, Abstraktionsregeln in Java und die damit verbundenen praktischen Beispiele verstanden.

Nachdem Sie die Grundlagen von Java verstanden haben, lesen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka richtet sich an Studenten und Fachleute, die Java-Entwickler werden möchten. Der Kurs soll Ihnen einen Vorsprung in die Java-Programmierung verschaffen und Sie sowohl für grundlegende als auch für fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & schulen Frühling .

Hast du eine Frage an uns? Erwähnen Sie es im Kommentarbereich dieses Blogs „Abstrakte Klassen in Java“ und wir werden uns so schnell wie möglich bei Ihnen melden.