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
Indice
[nascondi]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.
class Persona:
def __init__(self, nome, indirizzo, eta):
self.__nome = nome
self.__indirizzo = indirizzo
self.__eta = eta
def __str__(self):
return "Nome: "+self.__nome+", Indirizzo: "+self.__indirizzo+", Età: "+ str(self.__eta)
class Studente(Persona):
def __init__(self, nome, indirizzo, eta, voto):
Persona.__init__(self, nome, indirizzo, eta)
self.__voto = voto
def __str__(self):
return Persona.__str__(self)+", Voto: "+ str(self.__voto)
class Lavoratore(Persona):
def __init__(self, nome, indirizzo, eta, stipendio):
Persona.__init__(self, nome, indirizzo, eta)
self.__stipendio = stipendio
def __str__(self):
return Persona.__str__(self)+", Stipendio: "+ str(self.__stipendio)
Di seguito è definito una funzione main che richiama i metodi definiti.
import ereditarieta
def main():
p = ereditarieta.Persona("Paolo", "Via Italia, 5", 34)
s = ereditarieta.Studente("Antonio", "Via delle Camelie, 19", 14, 7)
l = ereditarieta.Lavoratore("Marco", "Piazza Garibaldi, 2", 54, 1000)
print(p)
print(s)
print(l)
main()