Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Esercitazione ereditarietà java, Esercizi di Informatica

Esercizio sull'ereditarietà in Java. Permette di esercitarsi su diverse classi e metodi.

Tipologia: Esercizi

2022/2023

Caricato il 28/11/2024

ded--
ded-- 🇮🇹

2 documenti

1 / 2

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Esercizio sullereditarietà
CLASSE: LogIn e LogIn2Fattori
FASE 1: la classe LogIn
Un oggetto di tipo LogIn permette di effettuare la tipica azione di riconoscimento di credenziali
(ovvero una username e una password preventivamente memorizzati) e autorizzare, quindi, l’accesso
a un generico servizio.
All’atto dell’ istanziazione, vengono inizializzate le credenziali corrette (ovvero la username e la
relativa password) e lo stato di log a false;
le tipiche azioni previste sono:
logIn() Prevede l’immissione delle credenziali (username e password). Se sono coincidenti con quelle
contestuali, lo stato di log passa a true.
logOut() Imposta lo stato di log false.
logged() Restituisce lo stato di log.
cambiaPassword() Prevede il cambio della password solo se lo stato di log è a true. Richiede
l’immissione della vecchia password, della nuova e conferma della nuova. Solo nel caso in cui la
vecchia password coinciderà con la password interna e, contestuale, la nuova coinciderà con la
conferma nuova, avverrà il cambio password. In caso contrario il cambio password non avrà successo.
displayPassword() Prevede la visualizzazione della password solo se lo stato di log è a true.
Scrivere la classe LogIn come descritta (avvalersi anche di altri metodi (private) se necessario)
FASE 1: la classe LogIn2Fattori
Un oggetto di tipo LogIn2Fattori (login a due fattori) prevede, oltre all’acquisizione della username e
e della password, un ulteriore livello di controllo per concedere il permesso di accesso al generico
servizio. Il secondo fattore di controllo consiste nell’inviare un SMS ad un numero di telefonino
(preventivamente memorizzato), che si presume essere di proprietà dell’utente che intende loggarsi.
Il contenuto del messaggio SMS conterrà un numero generato casualmente dal sistema. Tale
numero dovrà essere digitato e reinserito, quindi ,nel sistema e varrà come ulteriore fattore di
controllo dell’identità del richiedente. Se la procedura va a buon fine, il login sarà stato effettuato
con successo.
Scrivere la classe LogIn2Fattori come classe derivata dalla precedente. Prevedere la sovrascrittura dei
metodi , ove necessario, e simulare l’invio dell’SMS con un semplice messaggio a video del tipo:
Send message to 333.1122345 --- Codice numerico di controllo: 456
(num telefono dell’utente) (numero generato casualmente)
pf2

Anteprima parziale del testo

Scarica Esercitazione ereditarietà java e più Esercizi in PDF di Informatica solo su Docsity!

Esercizio sull’ereditarietà

CLASSE: LogIn e LogIn2Fattori

FASE 1: la classe LogIn Un oggetto di tipo LogIn permette di effettuare la tipica azione di riconoscimento di credenziali (ovvero una username e una password preventivamente memorizzati) e autorizzare, quindi, l’accesso a un generico servizio. All’atto dell’ istanziazione, vengono inizializzate le credenziali corrette (ovvero la username e la relativa password) e lo stato di log a false; le tipiche azioni previste sono: logIn() Prevede l’immissione delle credenziali (username e password). Se sono coincidenti con quelle contestuali, lo stato di log passa a true. logOut() Imposta lo stato di log false. logged() Restituisce lo stato di log. cambiaPassword() Prevede il cambio della password solo se lo stato di log è a true. Richiede l’immissione della vecchia password, della nuova e conferma della nuova. Solo nel caso in cui la vecchia password coinciderà con la password interna e, contestuale, la nuova coinciderà con la conferma nuova, avverrà il cambio password. In caso contrario il cambio password non avrà successo. displayPassword() Prevede la visualizzazione della password solo se lo stato di log è a true. Scrivere la classe LogIn come descritta (avvalersi anche di altri metodi (private) se necessario) FASE 1: la classe LogIn2Fattori Un oggetto di tipo LogIn2Fattori (login a due fattori) prevede, oltre all’acquisizione della username e e della password, un ulteriore livello di controllo per concedere il permesso di accesso al generico servizio. Il secondo fattore di controllo consiste nell’inviare un SMS ad un numero di telefonino (preventivamente memorizzato), che si presume essere di proprietà dell’utente che intende loggarsi. Il contenuto del messaggio SMS conterrà un numero generato casualmente dal sistema. Tale numero dovrà essere digitato e reinserito, quindi ,nel sistema e varrà come ulteriore fattore di controllo dell’identità del richiedente. Se la procedura va a buon fine, il login sarà stato effettuato con successo. Scrivere la classe LogIn2Fattori come classe derivata dalla precedente. Prevedere la sovrascrittura dei metodi , ove necessario, e simulare l’invio dell’SMS con un semplice messaggio a video del tipo: Send message to 333.1122345 --- Codice numerico di controllo: 456 (num telefono dell’utente) (numero generato casualmente)

Prevedere la sovrascritture del metodo displayPassword() che permetta di visualizzare la password di accesso, memorizzata, solo se si è loggati e dopo aver superato un ulteriore secondo fattore di controllo. Collaudare le 2 classi implementando un’opportuna classe tester che prevede un menu (CHE SI RIPROPONE AD OLTRANZA) con le seguenti voci: 1 … LOGIN 2 … MOSTRAPASSWORD 3 … CAMBIAPASSWORD 4 … STATO DI LOG 5 … LOGOUT 7 … EXIT Solo dopo aver collaudato le 2 classi prevedere: l’implementazione di un ulteriore metodo resetPassword() su LogIn2Fattori che (dopo aver superato il controllo del secondo fattore) reimposta la password dell’utente con una password provvisoria composta da numeuser + numero randomico compreso tra 0 e 999. Prevedere quindi l’aggiunta della voce 6 nel menu: 6 … HO DIMENTICATO USER/PASSWORD