#Classe Veiculo
#criação da classe pai Veiculo
class Veiculo:
lista_veiculos = []
def __init__(self, _marca, _modelo, _ligado):
self._marca = _marca
self._modelo = _modelo
self._ligado = False
Veiculo.lista_veiculos.append(self)
#Criação do método especial STR
def __str__(self) -> str:
if self._ligado:
return f"Marca: {self._marca.ljust(25)} | Modelo: {self._modelo.ljust(25)} | Ligado"
else:
return f"Marca: {self._marca.ljust(25)} | Modelo: {self._modelo.ljust(25)} | Desligado"
#Criação do método para alterar o status Ligado/Desligado
def alterar_ligado(self):
self._ligado = not self._ligado
return self._ligado
#Classe Carro
#Importação das classes criadas
from modelos.automovel.veiculo import Veiculo
#criação da classe filha Carro
class Carro(Veiculo):
def __init__(self, _marca, _modelo, _ligado, _portas):
super().__init__(_marca, _modelo, _ligado)
self._portas = _portas
Carro.lista_veiculos.append(self)
#Criação do método especial STR
def __str__(self) -> str:
if self._ligado:
return f"Marca: {self._marca.ljust(25)} | Modelo: {self._modelo.ljust(25)} | {"Ligado".ljust(25)} | Portas: {self._portas} portas"
else:
return f"Marca: {self._marca.ljust(25)} | Modelo: {self._modelo.ljust(25)} | {"Desligado".ljust(25)} | Portas: {self._portas} portas"
#Classe Moto
#Importação das classes criadas
from modelos.automovel.veiculo import Veiculo
#criação da classe filha Moto
class Moto(Veiculo):
def __init__(self, _marca, _modelo, _ligado, _tipo):
super().__init__(_marca, _modelo, _ligado)
self._tipo = _tipo
Moto.lista_veiculos.append(self)
#Criação do método especial STR
def __str__(self) -> str:
if self._ligado:
return f"Marca: {self._marca.ljust(25)} | Modelo: {self._modelo.ljust(25)} | {"Ligado".ljust(25)} | Tipo: {self._tipo} portas"
else:
return f"Marca: {self._marca.ljust(25)} | Modelo: {self._modelo.ljust(25)} | {"Desligado".ljust(25)} | Tipo: {self._tipo} portas"
#Função main()
#Importação das classes criadas
from modelos.automovel.veiculo import Veiculo
from modelos.automovel.carro import Carro
from modelos.automovel.moto import Moto
#Instanciando carros e motos e utilizando a função alterar_ligado() para mudar o status deste atributo para dois veiculos
carro1=Carro("Honda", "Fit", False, 5)
carro2=Carro("Toyota", "Etios", False, 5)
carro3=Carro("Ford", "Focus", False, 5)
moto1=Moto("Honda", "CG150", False, "Casual")
moto2=Moto("Yamaha", "Yamaha YZF R-3", False, "Esportiva")
moto3=Moto("Kawasaki", "Kawasaki Ninja 650 R", False, "Esportiva")
Veiculo.alterar_ligado(carro2)
Veiculo.alterar_ligado(moto3)
Veiculo.alterar_ligado(carro2)
#Teste de impressão dos veículos instanciados
def main():
print(moto1)
print(moto2)
print(moto3)
print(carro1)
print(carro2)
print(carro3)
if __name__ == "__main__":
main()