Skip to content

Commit c4e0847

Browse files
committed
Classe lavoratore
1 parent f67a14a commit c4e0847

1 file changed

Lines changed: 46 additions & 1 deletion

File tree

persona.py

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,49 @@ def __eq__(self,other):
3939
if isinstance(other):
4040
if other._nome==self._nome and other._cognome==self._cognome and other._data_nascita==self._data_nascita:
4141
return True
42-
return False
42+
return False
43+
44+
45+
class Lavoratore(Persona, metaclass=ABCMeta):
46+
47+
def __init__(self,nome, cognome, data_nascita, idbadge, mansione):
48+
super().__init__(nome, cognome, data_nascita)
49+
if (len(idbadge) != 8) or (idbadge.isalnum() == False):
50+
raise ValueError('Inserire un IBAN valido.')
51+
self._idbadge = idbadge
52+
self._mansione = mansione
53+
logger.info("E' stato inserito un lavoratore.")
54+
55+
def __str__(self):
56+
return super().__str__() + ' ' + self._idbadge + ' ' + self._mansione
57+
58+
def __eq__(self, other):
59+
if isinstance(other, Lavoratore):
60+
if super().__eq__(other) and other._idbadge == self._idbadge and other._mansione == self._mansione:
61+
return True
62+
return False
63+
64+
def __hash__(self):
65+
return hash((super().__hash__(), self._idbadge, self._mansione))
66+
67+
def get_idbadge(self):
68+
return self._idbadge
69+
70+
def set_idbadge(self, x):
71+
if (len(x)<0) or (len(x)>8) or (x.isalnum() == False):
72+
raise('Inserisci un id valido')
73+
else:
74+
self._idbadge = x
75+
76+
def get_masnione(self):
77+
return self._mansione
78+
79+
def set_mansione(self, x):
80+
if(len(x)<0) or (x.isalpha() == False):
81+
raise('Inserisci una mansione valida')
82+
else:
83+
self._mansione = x
84+
85+
@abstractmethod
86+
def stipendio(self):
87+
pass

0 commit comments

Comments
 (0)