Risoluzione Tracce di Esame II Modulo: differenze tra le versioni

Da Bioingegneria Elettronica e Informatica.
(Creata pagina con "__FORCETOC__ == Appello 27 Giugno 2017 == '''Esercizio 2''': Si ha la necessità di definire tre classi in Python: persona, studente, lavoratore. Le ultime due classi elencat...")
(Nessuna differenza)

Versione delle 08:52, 6 lug 2017


Appello 27 Giugno 2017

Esercizio 2: Si ha la necessità di definire tre classi in Python: persona, studente, lavoratore. Le ultime due classi elencate, ovvero studente e lavoratore sono classe derivate dalla classe persona. Scrivere il codice Python che permette di definire le tre classi su elencate (tenendo conto del concetto di ereditarietà) e un piccolo main che ne richiama i metodi definiti. NOTA IMPORTANTE: si definiscano solo gli attributi (3 per la classe persona, 1 specifico di studente, 1 specifico di lavoratore) e i metodi init e str.

Codice Python Di seguito il codice python che modella l'ereditarietà tra le classi.

  1. class Persona:
  2.     def __init__(self, nome, indirizzo, eta):
  3.         self.__nome = nome
  4.         self.__indirizzo = indirizzo
  5.         self.__eta = eta
  6.  
  7.     def __str__(self):
  8.         return "Nome: "+self.__nome+", Indirizzo: "+self.__indirizzo+", Età: "+ str(self.__eta)
  9.  
  10.  
  11. class Studente(Persona):
  12.     def __init__(self, nome, indirizzo, eta, voto):
  13.         Persona.__init__(self, nome, indirizzo, eta)
  14.         self.__voto = voto
  15.  
  16.     def __str__(self):
  17.         return Persona.__str__(self)+", Voto: "+ str(self.__voto)
  18.  
  19.  
  20. class Lavoratore(Persona):
  21.     def __init__(self, nome, indirizzo, eta, stipendio):
  22.         Persona.__init__(self, nome, indirizzo, eta)
  23.         self.__stipendio = stipendio
  24.  
  25.     def __str__(self):
  26.         return Persona.__str__(self)+", Stipendio: "+ str(self.__stipendio)

Di seguito è definito una funzione main che richiama i metodi definiti.

  1. import ereditarieta
  2.  
  3. def main():
  4.     p = ereditarieta.Persona("Paolo", "Via Italia, 5", 34)
  5.     s = ereditarieta.Studente("Antonio", "Via delle Camelie, 19", 14, 7)
  6.     l = ereditarieta.Lavoratore("Marco", "Piazza Garibaldi, 2", 54, 1000)
  7.     print(p)
  8.     print(s)
  9.     print(l)
  10.  
  11. main()