Last Updated on 2 anni | Published: 25/04/2024
Classi Astratte
Le classi astratte in Java rappresentano un concetto fondamentale nella programmazione orientata agli oggetti e servono come base per creare altre classi.
Una classe astratta non può essere istanziata direttamente, ma può avere metodi astratti, che sono dichiarati ma non implementati. Questi metodi astratti devono essere implementati nelle classi concrete che estendono la classe astratta.
Le classi astratte sono utili per fornire una struttura comune e condivisa tra le classi figlie, garantendo una maggiore coerenza e coesione nel codice. Possono contenere sia metodi astratti che metodi con implementazioni concrete, e possono avere variabili di istanza, costruttori, metodi statici e metodi final.
Alcune caratteristiche e regole delle classi astratte includono:
- Impossibilità di Istanziamento Diretto: Una classe astratta non può essere istanziata direttamente con l’operatore
new. - Metodi Astratti: Una classe astratta può contenere metodi astratti, che devono essere dichiarati senza implementazione e devono essere implementati nelle sottoclassi.
- Metodi con Implementazione: Una classe astratta può anche contenere metodi con implementazione concreta, che possono essere ereditati dalle sottoclassi senza necessità di override.
- Ereditarietà: Le classi astratte possono essere estese da altre classi, che ereditano sia i metodi concreti che i metodi astratti dalla classe astratta.
- Polimorfismo: Le classi astratte supportano il polimorfismo, permettendo di utilizzare riferimenti di tipo classe astratta per riferirsi a oggetti di classi concrete.
Ecco un esempio di utilizzo di classi astratte in un modello JavaBean ispirato al dominio del commercio elettronico:
}
Libri libro = new Libri(“Il Signore degli Anelli”, 29.99, true, “J.R.R.
System.out.println(“Nome del libro: ” + libro.getNome());
System.out.println(“Autore: ” + libro.getAutore());
System.out.println(“Genere: ” + libro.getGenere());
System.out.println(“Prezzo: €” + libro.getPrezzo());
System.out.println(“Disponibile: ” + (libro.isDisponibile() ? “Sì” : “No“));
System.out.println(“Sconto applicato: €” + sconto);
// Aggiornamento del prezzo del libro
libro.setPrezzo(libro.getPrezzo() – sconto);
System.out.println(“Prezzo scontato: €” + libro.getPrezzo());
}
Nel prossimo articolo parleremo del principio del Polimorfismo in Java che è anch’ esso uno dei concetti fondamentali della programmazione ad oggetti (OOP), che offre estensibilità e chiarezza ne design del software …….
LABORATORIO
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
