1
resposta

[Projeto] Solução herança

class Veiculo:
    def __init__(self, marca, modelo):
        self.marca = marca
        self.modelo = modelo
        self._ligado = False
        
    def __str__(self):
        return f'Marca: {self.marca} | Modelo: {self.modelo} | Status: {self.ligado}'
    
    @property
    def ligado(self):
        return 'ligado' if self._ligado else 'desligado'
from modelos.veiculo import Veiculo

class Carro(Veiculo):
    def __init__(self, marca, modelo, portas):
        super().__init__(marca, modelo)
        self._portas = portas
        
    def __str__(self):
        return f'{super().__str__()} | Portas: {self._portas}'
from modelos.veiculo import Veiculo

class Moto(Veiculo):
    def __init__(self, marca, modelo, tipo):
        super().__init__(marca, modelo)
        self._tipo = tipo
        
    def __str__(self):
        return f'{super().__str__()} | Tipo: {self._tipo}'
from modelos.carro import Carro
from modelos.moto import Moto

carro_1 = Carro('Chevrolet', 'Corsa', 4)
carro_2 = Carro('Ferrari', 'California', 2)
carro_3 = Carro('Volkswagen', 'Kombi', 3)

moto_1 = Moto('Honda', 'Titan', 'Casual')
moto_2 = Moto('Kawasaki', 'Ninja 300', 'Esportiva')
moto_3 = Moto('Yamaha', 'Fazer', 'Casual')

def main():
    print(carro_1)
    print(carro_2)
    print(carro_3)

    print(moto_1)
    print(moto_2)
    print(moto_3)
    
if __name__ == '__main__':
    main()
1 resposta

Oi, Jackson! Tudo bem?

Seu código está muito bem estruturado e parece que você compreendeu bem os conceitos de herança e métodos especiais em Python, parabéns! Obrigada também por tê-lo compartilhado com a nossa comunidade do fórum, tenho certeza que ajudará muitos colegas! Caso surja alguma dúvida, sinta-se à vontade em comunicar por aqui, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!