Esercizi OOP
Esercizi di Programmazione Orientata agli Oggetti in Java
Esercizio 1: Definizione di Classi e Oggetti
- Crea una classe
Personacon le proprietànome(String) eetà(int). - Aggiungi un costruttore che inizializza entrambe le proprietà.
- Aggiungi metodi getter e setter per entrambe le proprietà.
- Crea una classe
TestPersonacon un metodomainche crea un oggettoPersonae stampa i suoi dettagli.
Esercizio 2: Ereditarietà
- Crea una classe
Veicolocon le proprietàmarca(String) emodello(String) e un metodomostraDettagli. - Crea una sottoclasse
Autoche estendeVeicoloe aggiungi la proprietànumeroPorte(int). - Sovrascrivi il metodo
mostraDettagliinAutoper includerenumeroPorte. - Crea una classe
TestVeicolocon un metodomainche crea un oggettoAutoe chiamamostraDettagli.
Esercizio 3: Incapsulamento
- Crea una classe
ContoBancariocon le proprietàsaldo(double) enumeroConto(String). - Rendi
saldoprivato e aggiungi metodi getter e setter per esso. - Aggiungi metodi
depositaeprelevaper modificare ilsaldo. - Crea una classe
TestContoBancariocon un metodomainche crea un oggettoContoBancario, deposita e preleva denaro, e stampa il saldo.
Esercizio 4: Polimorfismo
- Crea una classe astratta
Animalecon un metodo astrattoverso. - Crea due classi
CaneeGattoche estendonoAnimalee implementano il metodoverso. - Crea una classe
TestAnimalecon un metodomainche crea oggettiCaneeGattoe chiama il metodoverso.
Esercizio 5: Interazione tra Oggetti
- Crea una classe
Librocon le proprietàtitolo(String) eautore(String). - Crea una classe
Bibliotecacon una lista di libri. - Aggiungi metodi per aggiungere e rimuovere libri dalla biblioteca.
- Crea una classe
TestBibliotecacon un metodomainche aggiunge e rimuove libri e stampa i dettagli dei libri nella biblioteca.
Esercizio 6: Modularità
- Crea un'interfaccia
Volantecon il metodovola. - Crea un'interfaccia
Nuotantecon il metodonuota. - Crea una classe
Anatrache implementa entrambe le interfacce e fornisce l'implementazione dei metodivolaenuota. - Crea una classe
TestAnatracon un metodomainche crea un oggettoAnatrae chiama i metodivolaenuota.
Esercizi Complessi di Programmazione Orientata agli Oggetti in Java
Esercizio 1: Sistema di Gestione di Biblioteca
In questo esercizio, si richiede di creare un sistema di gestione di una biblioteca utilizzando i concetti di interfaccia, overload e override dei metodi, e l'uso di metodi getter e setter.
- Crea un'interfaccia
ElementoBibliotecacon i metodigetTitoloemostraDettagli. - Crea una classe astratta
Pubblicazioneche implementaElementoBibliotecae contiene le proprietàtitoloeautore, con relativi getter e setter. - Crea una classe
Libroche estendePubblicazionee aggiunge la proprietànumeroPagine. Implementa il metodomostraDettagliper visualizzare titolo, autore e numero di pagine. - Crea una classe
Rivistache estendePubblicazionee aggiunge la proprietànumeroRivista. Implementa il metodomostraDettagliper visualizzare titolo, autore e numero della rivista. - Crea una classe
Bibliotecacon una lista diElementoBiblioteca. Aggiungi metodi per aggiungere unElementoBiblioteca, rimuovere unElementoBibliotecae visualizzare i dettagli di tutti gli elementi. - Crea una classe
TestBibliotecacon un metodomainche crea una biblioteca, aggiunge libri e riviste, e visualizza i dettagli degli elementi nella biblioteca.
Esercizio 2: Gestione di un Negozio di Animali
In questo esercizio, si richiede di creare un sistema di gestione di un negozio di animali utilizzando i concetti di interfaccia, overload e override dei metodi, e l'uso di metodi getter e setter.
- Crea un'interfaccia
Animalecon i metodigetNomeemostraDettagli. - Crea una classe astratta
AnimaleDomesticoche implementaAnimalee contiene le proprietànomeeetà, con relativi getter e setter. - Crea una classe
Caneche estendeAnimaleDomesticoe aggiunge la proprietàrazza. Implementa il metodomostraDettagliper visualizzare nome, età e razza. La proprietàrazzadeve accettare solo razze valide - Crea una classe
Gattoche estendeAnimaleDomesticoe aggiunge la proprietàcolore. Implementa il metodomostraDettagliper visualizzare nome, età e colore. - Crea una classe
NegozioAnimalicon una lista diAnimale. Aggiungi metodi per aggiungere unAnimale, rimuovere unAnimalee visualizzare i dettagli di tutti gli animali. - Crea una classe
TestNegozioAnimalicon un metodomainche crea un negozio di animali, aggiunge cani e gatti, e visualizza i dettagli degli animali nel negozio.
Esercizio 3: Gestione di un Negozio di Libri
In questo esercizio, si richiede di creare una classe NegozioLibri che gestisca la vendita di libri con diverse modalità. Implementeremo l'overloading dei metodi per aggiungere libri al catalogo e per calcolare il totale del prezzo dei libri nel carrello.
- Crea una classe
Libroche rappresenti un libro con proprietàtitolo,autoreeprezzo. - Crea una classe
NegozioLibricon metodi per aggiungere libri al catalogo e al carrello. - Implementa il metodo
aggiungiLibroper aggiungere un libro al catalogo usando l'oggettoLibro. - Implementa il metodo
aggiungiLibroper aggiungere un libro al catalogo usando il titolo, l'autore e il prezzo. - Implementa il metodo
aggiugiAlCarrelloper aggiungere un libro al carrello usando il nome del libro (che deve essere presente nel catalogo) - Implementa il metodo
calcolaTotaleper calcolare il totale del prezzo dei libri nel carrello. - Implementa il metodo
calcolaTotaleper calcolare il totale del prezzo dei libri nel carrello applicando uno sconto in percentuale. - Crea una classe
TestNegozioLibricon un metodomainche crea un'istanza diNegozioLibrie testa i metodiaggiungiLibroecalcolaTotalecon diversi set di parametri.