Giava

Classe astratta Java

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

Sintassi:

classe astratta nomeclasse
nomi_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 pubblico
libro 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 pubblico
area 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 costruttore
numeri 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.

Porte open source di motori di gioco commerciali
Ricreazioni del motore di gioco gratuite, open source e multipiattaforma possono essere utilizzate per riprodurre titoli di giochi vecchi e abbastanza...
I migliori giochi da riga di comando per Linux
La riga di comando non è solo il tuo più grande alleato quando usi Linux, ma può anche essere una fonte di intrattenimento perché puoi usarla per gioc...
Le migliori app di mappatura del gamepad per Linux
Se ti piace giocare su Linux con un gamepad invece di un tipico sistema di input di tastiera e mouse, ci sono alcune app utili per te. Molti giochi pe...