fondamenti di informatica t-1 · possibile, l’inserimento di una busta paga nell’array di buste...

12
Fondamenti di Informatica T-1 Ereditariet` a Tutor: Angelo Feraudo [email protected] a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 12

Upload: dangthuy

Post on 17-Feb-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

Fondamenti di Informatica T-1Ereditarieta

Tutor:Angelo Feraudo

[email protected]

a.a. 2017/2018

Fondamenti di Informatica T-1 Angelo Feraudo 1 / 12

Page 2: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

Ereditarieta: definizione

Meccanismo per definire una nuova classe (classe derivata o classefiglio) come specializzazione di un’altra (classe base o classe padre)

• La classe base modella un concetto generico

• La classe derivata modella un concetto piu specifico

Fondamenti di Informatica T-1 Angelo Feraudo 2 / 12

Page 3: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

Ereditarieta: classe derivata

La classe derivata:

• Dispone di tutte le funzionalita (attributi e metodi) dellaclasse base

• Puo aggiungere funzionalita proprie

• Puo ridefinire il funzionamento di metodi esistenti(polimorfismo)

Fondamenti di Informatica T-1 Angelo Feraudo 3 / 12

Page 4: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

Ereditarieta: esempio(1)

Fondamenti di Informatica T-1 Angelo Feraudo 4 / 12

Page 5: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

Ereditarieta: esempio(2)

Classe Persona

Fondamenti di Informatica T-1 Angelo Feraudo 5 / 12

Page 6: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

Ereditarieta: esempio(3)

Classe Impiegato

Fondamenti di Informatica T-1 Angelo Feraudo 6 / 12

Page 7: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

Ereditarieta: esempio(4)

Classe Studente

Fondamenti di Informatica T-1 Angelo Feraudo 7 / 12

Page 8: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

Ereditarieta: parole chiave

Fondamenti di Informatica T-1 Angelo Feraudo 8 / 12

Page 9: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

ESERCIZIO 1

Scrivere un programma per la gestione di racconti brevi.

• La classe Testo e composta da un autore, un titolo ed uncontenuto.

• Scrivere inoltre una classe figlio chiamata TestoCensuratoche presenta un ulteriore attributo, chiamato ”parolaproibita”.

• Oltre ad i metodi getter e setter, ridefinire per entrambe leclassi il metodo toString(), facendo in modo che la classeTestoCensurato restituisca il proprio contenuto andando asostituire ogni occorrenza della parola proibita con unasuccessione di tre asterischi.

• Scrivere inoltre una classe contenente un main di prova pertestare il corretto funzionamento delle classi.

Fondamenti di Informatica T-1 Angelo Feraudo 9 / 12

Page 10: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

ESERCIZIO 2 (1)

Scrivere un programma che consenta di gestire il pagamento deglistipendi dei dipendenti di un’azienda.Di ogni dipendente si memorizzano il nome, l’indirizzo, il telefonoe lo stipendio.Alcuni dipendenti sono dipendenti giornalieri, con stipendiocalcolato in base al numero di giorni di lavoro in un mese (numerodi giorni * base di retribuzione giornaliera).

Fondamenti di Informatica T-1 Angelo Feraudo 10 / 12

Page 11: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

ESERCIZIO 2 (2)

L’azienda deve gestire, oltre ai dati dei dipendenti, le buste pagache sono caratterizzate da:

• un riferimento al dipendente

• una data nel formato gg/mm/aaaa

• un id univoco che deve essere generato automaticamente dalsistema nel seguente formato:<data>-<progressivoNumerico>

dove <data> corrisponde alla data della busta paga e<progressivoNumerico> e un usuale numero progressivo

• un importo corrispondente allo stipendio da attribuire aldipendente

Fondamenti di Informatica T-1 Angelo Feraudo 11 / 12

Page 12: Fondamenti di Informatica T-1 · possibile, l’inserimento di una busta paga nell’array di buste paga Si crei un metodo giornoDiPaga() che, relativamente ad una

ESERCIZIO 2 (3)

• L’azienda gestisce dipendenti e buste paga in vettori dimassimo 200 dipendenti e 2500 buste paga, nonnecessariamente pieni

• Si crei un metodo inserisciBustaPaga() che permette, sepossibile, l’inserimento di una busta paga nell’array di bustepaga

• Si crei un metodo giornoDiPaga() che, relativamente ad unacerta data, crei le buste paga dei dipendenti, le memorizzi e lemostri a video.

• Si implementino metodi per ottenere le liste di dipendenti edelle buste paga.

• Nel main si istanzi un’azienda, si inseriscano dei dipendenti, sistampino le liste dei dipendenti e si esegua almeno unaggiornamento delle buste paga.

Fondamenti di Informatica T-1 Angelo Feraudo 12 / 12