Você está na página 1de 4

class Pessoa:

def __init__(self, nif, morada, nome):


self.nif = nif
self.morada = morada
self.nome = nome

@property
def Nif(self):
return self.__nif
@property
def Morada(self):
return self.__morada
@property
def Nome(self):
return self.__nome

@Nif.getter
def Nif(self):
return self.__nif

@Nif.setter
def Nif(self, nif):
self.__nif = nif

@Morada.getter
def Morada(self):
return self.__morada

@Morada.setter
def Morada(self, morada):
self.__morada = morada

@Nome.getter
def Nome(self):
return self.__nome

@Nome.setter
def Nome(self, nome):
self.__nome = nome

class Condutor(Pessoa):
def __int__(self, nif, morada, nome, numero_de_carta, idade):
super().__init__(nif, morada, nome)
self.numero_de_carta = numero_de_carta
self.idade = idade

@property
def Numero_de_carta(self):
return self._numero_de_carta

@property
def Idade(self):
return self._idade

@Numero_de_carta.getter
def Numero_de_carta(self):
return self._numero_de_carta
@Numero_de_carta.setter
def Numero_de_carta(self, numero_de_carta):
self._numero_de_carta = numero_de_carta

@Idade.getter
def idade(self):
return self._idade

@Idade.setter
def Idade(self, idade):
self._idade = idade

class Motorista(Condutor):
def __init__(self, nome, morada, nif, numero_de_carta, idade, anos_condutor,
ordenado_base):
super().__init__(numero_de_carta, idade, nome)
self.anos_condutor = anos_condutor
self.ordenado_base = ordenado_base
self.nome = nome
self.nif = nif
self.morada = morada

@property
def Nome(self):
return self.__nome
@property
def Morada(self):
return self.__morada
@property
def Nif(self):
return self.__nif
@property
def Anos_condutor(self):
return self.__anos_condutor
@property
def Ordenado_base(self):
return self.__ordenado_base

@Nome.getter
def Nome(self):
return self.__nome

@Nome.setter
def Nome(self, nome):
self.__nome = nome

@Morada.getter
def Morada(self):
return self.__morada

@Morada.setter
def Morada(self, morada):
self.__morada = morada

@Nif.getter
def Nif(self):
return self.__nif
@Nif.setter
def Nif(self, nif):
self.__nif = nif

@Anos_condutor.getter
def Anos_condutor(self):
return self.__anos_condutor

@Anos_condutor.setter
def Anos_condutor(self, anos_consutor):
self.__anos_condutor = anos_consutor

@Ordenado_base.getter
def Ordenado_base(self):
return self.__ordenado_base

@Ordenado_base.setter
def Ordenado_base(self, ordenado_base):
self.__ordenado_base = ordenado_base

def CalculaSalario(self, imposto):


ordenado_liquido = self.ordenado_base - (self.ordenado_base * (imposto /
100))
salario = ordenado_liquido - (self.ordenado_base * (self.idade / 100))
return salario

class Viagem:
def __int__(self,origem, destino, data):
self.origem = origem
self.destino = destino
self.data = data

@property
def Origem(self):
return self.__origem
@property
def Destino(self):
return self.__destino
@property
def Data(self):
return self.__data

@Origem.getter
def Origem(self):
return self.__origem

@Origem.setter
def Origem(self, origem):
self.__origem = origem

@Destino.getter
def Destino(self):
return self.__destino

@Destino.setter
def Destino(self, destino):
self.__destino = destino
@Data.getter
def Data(self):
return self.__data

@Data.setter
def Data(self, data):
self.__data = data

if __name__ == "__main__":
m1 = Motorista("Joao", "Rua das acácias", 123444031, "123-A", 50, 30, 1400)
m2 = Motorista("Manuel", "Av. 25 de Abril", 920234434, "106-A", 27, 3, 1000)
print(f"O motorista {m1.nome} tem um salário mensal de
{m1.CalculaSalario(30)}")
v1 = Viagem(m1, "Lisboa", "Faro", "6/12/2021")
v2 = Viagem(m2, "Albufeira", "Faro", "7/12/2021")
print(v1)
print(v2)

Você também pode gostar