Sintassi:
classe astratta nomeclassenomi_variabili;
metodo astratto1();
metodo pubblico2()
affermazioni 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
L'esempio seguente mostra come 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 denominato 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 pubblicolibro di classe astratto
dettagli del vuoto pubblico()
Sistema.su.println("Nome libro: impara PHP in 15 minuti");
Sistema.su.println("Nome autore: Jake Wright");
Sistema.su.println("Prezzo scontato: $35");
//Definisci la sottoclasse
la classe php estende il libro
//Classe principale
classe abstract1
public static void main(String[] args)
php bk = nuovo php();
bk.dettagli();
Produzione:
Il seguente output apparirà dopo aver eseguito il codice. qui, il dettagli() viene chiamato il metodo della classe astratta e il testo viene stampato dal metodo.
Esempio 2: classe astratta con il metodo astratto e il metodo pubblico
L'esempio seguente mostra come una classe astratta può essere dichiarata con variabili, un metodo astratto e un metodo pubblico. Le dichiarazioni del metodo public sono definite all'interno della classe abstract, ma il corpo del metodo abstract è vuoto che è implementato all'interno della sottoclasse della classe abstract. Qui vengono dichiarate due sottoclassi estendendo la classe astratta. La sottoclasse denominata piazza calcolerà e stamperà l'area di un quadrato in base al valore di n variabile. La sottoclasse denominata rettangolo calcolerà e stamperà l'area del rettangolo in base al valore di h e w variabili. Il metodo pubblico, readData() è chiamato da un parametro chiamato genere per identificare quale/i variabile/i della classe astratta verrà inizializzata. Il valore di genere 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 pubblicoarea di classe astratta
int pubblico n, h, w;
risultato vuoto astratto();
public void readData(int type)
if (tipo == 1)
n = 10;
altro
h = 20;
w = 30;
//Definisci la sottoclasse quadrata
il quadrato della classe estende l'area
risultato vuoto pubblico()
//Calcola l'area del quadrato
int areaVal = n*n;
Sistema.su.println("L'area del quadrato è " + areaVal);
//Definisci sottoclasse rettangolo rectangle
il rettangolo di classe estende l'area
risultato vuoto pubblico()
//Calcola l'area del rettangolo
int areaVal = h*w;
Sistema.su.println("L'area del rettangolo è " + areaVal);
//Classe principale
classe abstract2
public static void main(String[] args)
//Crea un oggetto della classe quadrata
quadrato quadrato = nuovo quadrato();
quadrato.readData(1);
quadrato.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'output mostra l'area di un quadrato in cui il valore di n è 10 e l'area di un rettangolo dove 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, valore massimo() è implementato nella sottoclasse denominata trovaMax. super() viene utilizzato nel costruttore della sottoclasse per chiamare il costruttore di una classe astratta. Il metodo astratto valore massimo() scoprirà il valore massimo di due numeri che verrà dato ai parametri del costruttore della sottoclasse al momento della creazione dell'oggetto.
//Definisce una classe astratta con un costruttorenumeri di classe astratti
//dichiara variabili
finale protetto int a, b;
//costruttore di classi astratte
numeri pubblici (int x, int y)
Questo.a = x;
Questo.b = y;
//Metodo pubblico
public abstract void maxval();
//Definisci la sottoclasse
class findMax estende i numeri
//Costruttore di sottoclassi
public findMax(int x,int y)
//Chiama il costruttore di classi astratte
super(x,y);
//Implementa il metodo astratto
public void maxval()
se(a > b)
Sistema.su.println(a + " è maggiore di " + b);
altro
Sistema.su.println(b + " è maggiore di " + a);
//Classe principale
classe abstract3
public static void main(String[] args)
//Crea oggetto della sottoclasse
findMax fmax = nuovo 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 il seguente messaggio.
Conclusione:
Una classe astratta viene utilizzata per rendere il programma più organizzato e comprensibile. Diverse classi correlate possono essere raggruppate utilizzando classi astratte. Il concetto e l'implementazione della classe astratta con parti diverse sono spiegati in questo tutorial usando semplici esempi. Spero che i lettori saranno in grado di comprendere l'uso della classe astratta e applicarla correttamente nel loro codice dopo aver letto questo tutorial.