Classe astratta di Java

Classe astratta di Java
Il concetto di astrazione è quello di evidenziare il compito dell'oggetto invece di evidenziare, "come l'oggetto fa l'attività". Questo tipo di concetto può essere implementato utilizzando due modi in Java. Queste sono la classe e l'interfaccia astratte. La classe astratta contiene la parola chiave astratto. Questa classe non può essere iniziata come altre classi normali, ma una sottoclasse può essere derivata ereditando la classe astratta. È possibile accedere alle caratteristiche della classe astratta creando l'oggetto della sottoclasse. Una classe astratta può anche contenere il costruttore a cui è possibile accedere creando l'oggetto della classe sottoclasse. Come puoi usare una classe astratta in Java è mostrato in questo tutorial.

Sintassi:

Abstract Class ClassName
variabile_names;
Abstract Method1 ();
public Method2 ()
dichiarazioni 1 ... n

Una classe astratta può contenere attributi o variabili, metodo astratto e metodo normale o chiunque di essi. Ma la sottoclasse della classe astratta può implementare solo il metodo astratto della classe astratta.

Esempio-1: classe astratta con un metodo pubblico

Il seguente esempio mostra come è possibile dichiarare una classe astratta con un metodo pubblico e il modo di utilizzare una classe astratta creando una sottoclasse. Qui, la classe astratta contiene un metodo pubblico chiamato dettagli() che è implementato all'interno della classe astratta. L'oggetto della sottoclasse viene creato per accedere al metodo pubblico della classe astratta.

// Definisci la classe astratta con il metodo pubblico
Libro di classe astratto
DETTAGLI PUBBLICI VOID ()
Sistema.fuori.println ("Nome libro: impara PHP in 15 minuti");
Sistema.fuori.println ("Nome autore: Jake Wright");
Sistema.fuori.println ("Prezzo di sconto: $ 35");


// Definire la sottoclasse
class php estende il libro

// Classe principale
Class Abstract1
public static void main (string [] args)
php bk = new php ();
Bk.dettagli();

Produzione:

Il seguente output apparirà dopo aver eseguito il codice. Qui, il dettagli() Il metodo della classe astratta viene chiamato e il testo è stampato dal metodo.

Esempio 2: classe astratta con il metodo astratto e il metodo pubblico

Il seguente esempio mostra come dichiarare una classe astratta con variabili, un metodo astratto e un metodo pubblico. Le dichiarazioni del metodo pubblico sono definite all'interno della classe astratta, ma il corpo del metodo astratto è vuoto che viene implementato all'interno della sottoclasse della classe astratta. Qui, due sottoclassi sono dichiarate estendendo la classe astratta. La sottoclasse nominata piazza calcolerà e stampa l'area di un quadrato sul valore di N variabile. La sottoclasse nominata rettangolo calcolerà e stampa l'area del rettangolo in base al valore di H E w variabili. Il metodo pubblico, readData () è chiamato da un parametro chiamato tipo per identificare quali variabili della classe astratta verranno inizializzate. Il valore del tipo La variabile sarà 1 per inizializzare il valore di N e 2 per inizializzare il valore di H E w.

// Definisci una classe astratta con un metodo astratto e un metodo pubblico
area di classe astratta
pubblico int n, h, w;
Risultato di vuoto astratto ();
public void readData (type int)
if (type == 1)
n = 10;

altro
H = 20;
w = 30;



// Definire la sottoclasse quadrata
Class Square estende l'area
public void result ()
// calcola l'area del quadrato
int areaval = n*n;
Sistema.fuori.println ("L'area del quadrato è" + areaval);


// Definire la sottoclasse rettangolo
Il rettangolo di classe estende l'area
public void result ()
// calcola l'area del rettangolo
int areaval = h*w;
Sistema.fuori.println ("L'area del rettangolo è" + areaval);


// Classe principale
Classe Abstract2
public static void main (string [] args)
// Crea oggetto della classe quadrata
Square Sq = new Square ();
Sq.readdata (1);
Sq.risultato();
// Crea oggetto della classe rettangolo
rettangolo rq = nuovo rettangolo ();
rq.readdata (2);
rq.risultato();

Produzione:

Il seguente output apparirà dopo aver eseguito il codice. L'uscita mostra l'area di un quadrato in cui il valore di N È 10 e l'area di un rettangolo in cui il valore di H È 20, e il valore di w È 30.

Esempio-3: classe astratta con il costruttore

L'esempio seguente mostra come il costruttore può essere dichiarato e utilizzato all'interno di una classe astratta. Il costruttore della classe astratta inizializzerà i valori di UN E B. Il metodo astratto, maxVal () è implementato nella sottoclasse denominata findmax. super() Il metodo viene utilizzato nel costruttore della sottoclasse per chiamare il costruttore di una classe astratta. Il metodo astratto maxVal () scoprirà il valore massimo di due numeri che verranno dati ai parametri del costruttore della sottoclasse al momento della creazione di oggetti.

// Definisci una classe astratta con un costruttore
Numeri di classe astratta
// Dichiara le variabili
protetto finale int a, b;
// costruttore di classe astratto
Numeri pubblici (int x, int y)
Questo.a = x;
Questo.b = y;

// Metodo pubblico
Public Abstract void MaxVal ();

// Definire la sottoclasse
Class FindMax estende i numeri
// costruttore sottoclasse
public Findmax (int x, int y)
// Chiama il costruttore di classe astratta
super (x, y);

// Implementa il metodo astratto
public void maxVal ()
if (a> b)
Sistema.fuori.println (a + "è maggiore di" + b);

altro
Sistema.fuori.println (b + "è maggiore di" + a);



// Classe principale
Classe Abstract3
public static void main (string [] args)
// Crea oggetto della sottoclasse
findmax fmax = new findmax (34,89);
// Trova il massimo
fmax.maxVal ();

Produzione:

Il seguente output apparirà dopo aver eseguito lo script. Qui, 34 E 89 sono dati come valori dei parametri del costruttore. Questi valori vengono confrontati nel metodo astratto implementato nella sottoclasse e stampato nel seguente messaggio.

Conclusione:

Una classe astratta viene utilizzata per rendere il programma più organizzato e comprensibile. Diverse classi correlate possono essere raggruppate usando classi astratte. Il concetto e l'implementazione della classe astratta con parti diverse sono spiegati in questo tutorial utilizzando esempi semplici. Spero che i lettori siano in grado di comprendere l'uso della classe astratta e applicarlo correttamente nel loro codice dopo aver letto questo tutorial.