Olá, tudo bem?
modelos/veiculo.py
class Veiculo:
def __init__(self, marca, modelo):
self.marca = marca
self.modelo = modelo
self._ligado = False
@property
def ligado(self):
return 'Ligado' if self._ligado else 'Desligado'
def __str__(self):
return f'Marca: {self.marca.ljust(15)} | Modelo: {self.modelo.ljust(15)} | Ligado/desligado: {self.ligado.ljust(10)}'
modelos/carro.py
from modelos.veiculo import Veiculo
class Carro(Veiculo):
def __init__(self, marca, modelo, quantidade_de_portas):
super().__init__(marca, modelo)
self.quantidade_de_portas = quantidade_de_portas
def __str__(self):
return f'Carro - {super().__str__()} | quantidade de portas: {self.quantidade_de_portas}'
modelos/moto.py
from modelos.veiculo import Veiculo
class Moto(Veiculo):
def __init__(self, marca, modelo, tipo):
super().__init__(marca, modelo)
self.marca = marca
self.modelo = modelo
self.tipo = tipo
def __str__(self):
return f'Moto - {super().__str__()} | tipo: {self.tipo}'
main.py
from modelos.carro import Carro
from modelos.moto import Moto
def main():
carro1 = Carro('marca1', 'modelo1', 4)
carro2 = Carro('marca2', 'modelo2', 2)
moto1 = Moto('marca1', 'modelo1', 'esportiva')
moto2 = Moto('marca2', 'modelo2', 'casual')
print(carro1)
print(carro2)
print(moto1)
print(moto2)
if __name__ == '__main__':
main()