Un'introduzione completa alle classi astratte in Java



Questo articolo ti aiuterà con un approccio dettagliato verso le classi astratte in Java insieme ad esempi per comprendere il concetto in un modo molto migliore.

Classi astratte in aiutare gli utenti a raggiungere l'astrazione, che è la più cruciale pratica di programmazione orientata agli oggetti seguita durante il processo di progettazione del software. In questo articolo, discuteremo la terminologia delle classi astratte attraverso il seguente docket.

Cosa sono le classi astratte in Java?

Classi astratte in fungere da confine tra il metodo di implementazione e la sua funzionalità. Viene utilizzato per scambiare la funzionalità tra Calcestruzzo membri della classe e il Astratto Classe.





Abstract-Classes-in-Java-Edureka

Le classi astratte sono considerate come quelle classi che nascondono il file Implementazione del metodo dettagli dall'utente e mostrano solo il file Funzionalità del metodo. Vengono dichiarati utilizzando la parola chiave astratto . Questi metodi possono includere Astratto e Non astratto metodi in loro.

come usare hover in css

Perché abbiamo bisogno di classi astratte in Java?

Abbiamo bisogno di classi astratte in Java per i seguenti motivi:



  • Supporto per classi astratte Risoluzione del metodo dinamico in fase di esecuzione
  • Aiutano gli utenti a ottenere risultati Accoppiamento lasco
  • Le classi astratte separano il file Definizione del metodo dall'eredità Sottoclassi
  • Forniscono il Funzionalità predefinita del metodo definito per tutte le Sottoclassi
  • Le classi astratte forniscono un file Modello per future classi specifiche
  • La classe astratta consente Codice Riusabilità

Regole per l'utilizzo di classi astratte in Java

Per implementare una classe astratta in Java, dobbiamo seguire le regole come descritto di seguito:



  • Una classe astratta deve essere dichiarata utilizzando il astratto parola chiave.
  • Le classi astratte possono includere astratto e non astratto metodi.
  • Una classe astratta non può essere istanziato.
  • Possono includere costruttori e statico metodi.
  • Una classe astratta include finale metodi.

Modi per ottenere l'astrazione in Java

Il processo di astrazione in Java può essere ottenuto con i seguenti due metodi, come indicato di seguito:

  1. Implementazione di una classe astratta
  2. Implementazione di un'interfaccia

La sintassi per le classi astratte

La sintassi per la definizione di classi astratte e metodi astratti è la seguente:

classe astratta Edureka {}
Metodo della classe astratta ()

Esempi pratici di classi astratte

// Classe astratta

pacchetto Abstract public abstract class Person {private String name private String gender 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}}

// Classe degli studenti

pacchetto Abstract public class Student extends 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 ('Not Studying')} else {System.out.println ('Pursuing a Degree in Bachelor of Engineering')}} public static void main (String args []) {Person student = new Student ('Priya', 'Female', 0) Persona student1 = new Student ('Karan', 'Male', 201021) Person student2 = new Student ('Kumari', 'Female', 101021) Person student3 = new 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 ())}}

Produzione:

Non studiare
Conseguimento di una laurea in ingegneria
Conseguimento di una laurea in ingegneria
Conseguimento di una laurea in ingegneria
Nome = Priya :: Gender = Female
Nome = Karan :: Gender = Male
Nome = Kumari :: Gender = Female
Nome = John :: Gender = Male

Differenza tra interfaccia e classe astratta

Interfaccia Classe astratta
Può avere solo metodi astrattiPuò avere metodi astratti e non astratti
Ha solo variabili finaliInclude variabili non finali
Ha solo variabili statiche e finaliHa variabili statiche, non statiche, finali, non finali
Non implementerà la classe astrattaPuò implementare un'interfaccia
Implementato utilizzando la parola chiave 'implements'Implementato utilizzando la parola chiave 'extends'
Può estendere solo un'interfacciaPuò estendere classi e interfacce Java
I membri sono pubblici per impostazione predefinitaI membri possono essere privati ​​e protetti

// Esempio di classe astratta

qual è la differenza tra javascript e jquery
pacchetto abstactVSinterface abstract class Shape {String objectName = '' Shape (String name) {this.objectName = name} abstract public double area () abstract public void draw ()} class Rectangle extends Shape {int length, width Rectangle (int length, int width, String name) {super (name) this.length = length this.width = width} @Override public void draw () {System.out.println ('Rectangle is drawn')} @Override public double area () {return (double) (length * width)}} class Circle extends Shape {double pi = 3.14 int radius Circle (int radius, String name) {super (name) this.radius = radius} @Override public void draw () { System.out.println ('Circle is drawn')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Shape rect = new Rectangle (20, 30, 'Rectangle') System.out.println ('Area of ​​rectangle:' + rect.area ()) Shape circle = new Circle (20, 'Cicle') System.out .println ('L'area del cerchio è:' + circle.area ())}}

Produzione:

Area del rettangolo: 600,0
L'area del cerchio è: 628,0

// Esempio di interfaccia

analizzare double in int java
pacchetto absVSint interfaccia Shape {void draw () double area ()} class Rectangle implementa Shape {int length, width Rectangle (int length, int width) {this.length = length this.width = width} @Override public void draw () {System.out.println ('Rectangle has been drawn')} @Override public double area () {return (double) (length * width)}} class Circle implementa Shape {double pi = 3.14 int radius Circle (int radius) {this.radius = radius} @Override public void draw () {System.out.println ('Circle has been drawn')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Area of ​​rectangle:' + rect.area ()) Shape circle = new Circle (20) System.out.println ('Area of ​​circle:' + circle.area ())}}

Produzione:

Area del rettangolo: 600,0
Area del cerchio: 628,0

Con questo, arriviamo alla fine di questo articolo. Spero che tu abbia capito l'importanza di astrazione, sintassi, funzionalità, regole di astrazione in Java e esempi pratici ad esse correlati.

Ora che hai compreso le basi di Java, controlla il file da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per studenti e professionisti che desiderano diventare sviluppatori Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti per concetti Java sia di base che avanzati insieme a vari framework Java come Hibernate & Primavera .

Hai domande per noi? Menzionalo nella sezione commenti di questo blog 'Classi astratte in Java' e ti risponderemo il prima possibile.