Want to create interactive content? It’s easy in Genially!
Proggetto Whatsapp
Filippo Di Pasquale
Created on March 12, 2025
Start designing with a free template
Discover more than 1500 professional designs like these:
Transcript
START >
Project
Obiettivo compito
Contextualize your topic with a subtitle
Creare una classe rubrica che contiene come variabili: nome, cognome e telefono e i metodi tostring() , aggiungi () ed elimina(), cercatelefono(String nome).
Estendere la classe rubrica alla classe rubricaWhatsapp che contiene anche gli attributi profilo (bool) e stato (String)), inoltre creare la sottoclasse instagram che contiene il numero di follower(int ) e ID(String).
Testare la validità aggiungendo alla rubrica 10 contatti (salvarli sul file rubrica.txt) e riscrivere i metodi aggiungi() ed elimina() nelle rispettive sottoclassi.
>
>
RubricaWhatsapp
Rubrica.txt
02
Main
05
04
03
Rubrica
01
00
Obiettivo
>
>
start >
<01> RubRIca
//Metodi
Opo aver utilizzato i metodi get e set utiliziamo:toString():Questo metodo restituisce una stringa che descrive il contatto, mostrando il nome, cognome e numero di telefono. Serve per visualizzare facilmente le informazioni di un contatto. aggiungi(List<Rubrica> contatti, Rubrica contatto): Aggiunge un nuovo contatto alla lista contatti. Dopo averlo aggiunto, stampa un messaggio che conferma l'aggiunta del contatto. elimina(List<Rubrica> contatti, Rubrica contatto): Rimuove un contatto dalla lista contatti. Dopo averlo eliminato, stampa un messaggio che conferma la sua rimozione. cercaTelefono(String nome, List<Rubrica> contatti): Cerca un contatto nella lista contatti utilizzando il nome. Se trova un contatto che corrisponde al nome (ignorando maiuscole e minuscole), lo restituisce.
>
>
>
>
// equalsIgnoreCase
equalsIgnoreCase(nome): È un metodo che confronta la stringa contatto.nome con la stringa nome, ignorando se le lettere sono maiuscole o minuscole.
+info
<02> rubrica whatsapp
START >
// METONDI EXTENS E OVERRIDE
In questa classe, prima di utilizzare i metodi get e set, trasferisco i dati dalla classe principale a quella derivata utilizzando l'ereditarietà con il keyword extends e invocando il costruttore della classe base tramite super(). Successivamente, implemento i metodi override per gestire l'aggiunta e la rimozione di contatti. Ogni volta che un contatto viene aggiunto o rimosso, il sistema stampa il contatto.toString() salvato nella variabile contatto utilizzando il metodo toString().
>
>
<03> Instagram
Sections like this help you create order
START >
// extends e @override instagram
Anche nella classe Instagram vengono utilizzati gli stessi metodi, ma con una differenza: tramite l'uso di extends, vengono passate le variabili dalla classe RubricaWhatsapp e . I metodi override implementati nella classe Instagram svolgono la stessa funzione di quelli della classe RubricaWhatsapp, ossia gestiscono l'aggiunta e la rimozione dei contatti. Ogni volta che un contatto viene aggiunto o rimosso da Instagram, il sistema stampa il contatto salvato nella variabile contatto.toString() utilizzando il metodo toString().
>
>
<04> Main
Sections like this help you create order
START >
// vettori e menu
Dopo aver importato tutte le librerie necessarie, creiamo un vettore per memorizzare i contatti e inizializziamo lo Scanner per consentire l'interazione con l'utente. Successivamente, implementiamo il menu della rubrica, dove definiamo tutti i casi possibili che l'utente può scegliere, come aggiungere, eliminare, cercare contatti, visualizzare l'elenco e uscire dal programma.
>
>
// case 1
Scegliendo l'opzione 1, verrà visualizzato un nuovo menu che permette di aggiungere un contatto in base al tipo selezionato. In base al numero inserito, è possibile scegliere se aggiungere un contatto normale (con nome, cognome e numero di telefono), un contatto Whatsapp (con nome, cognome, numero di telefono e stato), oppure un contatto Instagram (con nome, cognome, numero di telefono, stato, numero di follower e ID Instagram).
>
>
// case 2,3
Nel case 2, dopo che l'utente inserisci il nome del contatto che desidera eliminare,Viene eseguita una ricerca nella lista dei contatti per trovare il contatto corrispondente al nome inserito. Questo viene fatto utilizzando il metodo Rubrica.cercaTelefono(nomeDaEliminare, contatti), che cerca nella lista contatti e restituisce il contatto trovato.Nel case 3, l'utente può cercare un contatto specifico nella rubrica inserendo il nome del contatto che desidera trovare. Il programma esegue una ricerca nella lista dei contatti utilizzando il metodo Rubrica.cercaTelefono(nomeDaCercare, contatti), che cerca il contatto corrispondente al nome inserito. Se il contatto viene trovato, il programma stampa i dettagli del contatto utilizzando il metodo toString().
>
>
// buffetedwriter
Il metodo BuffetedWriter scrive il contenuto del vettore sul file txt tramite il toString() per ogni elemento con il ciclo for.Se durante il processo di scrittura si verifica un errore (ad esempio, se il file non può essere aperto o scritto), viene catturata un'eccezione di tipo IOException, e viene mostrato un messaggio di errore che descrive il problema.
>
>
Grazie per l'attenzione
// for (Rubrica contatto : contatti)
L'istruzione for (Rubrica contatto : contatti) è un ciclo "for-each" (o ciclo avanzato) che scorre ogni elemento della lista contatti e lo assegna alla variabile contatto per ogni iterazione.