1
resposta

[Projeto] Solução dos Exercícios

Sinceramente, já tenho um pouco de experiência com outras linguagens, e para aprender todos esses conceitos de orientação a objetos, linguagens como Java parece mais simples do que Python. Mas por enquanto está tranquilo de entender e vou deixar minha solução dessa lista, dividida em 4 arquivos:

veiculo.py

class Veiculo:
    def __init__(self, marca, modelo):
        self.marca = marca
        self.modelo = modelo
        self._ligado = False

    def __str__(self):
        estado = 'ligado' if self._ligado else 'desligado'
        return f'{self.marca} {self.modelo} - Estado: {estado}'

carro.py

from 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}'

moto.py

from 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}'

main.py

from carro import Carro
from moto import Moto

def main():
    carro_1 = Carro(marca='Hyundai', modelo='HB20', portas=4)
    carro_2 = Carro(marca='Chevrolet', modelo='Onix', portas=2)
    carro_3 = Carro(marca='Toyota', modelo='Yaris', portas=4)

    moto_1 = Moto(marca='Honda', modelo='CB 500', tipo='esportiva')
    moto_2 = Moto(marca='Yamaha', modelo='Neo 125', tipo='casual')
    moto_3 = Moto(marca='Honda', modelo='CRF 300F', tipo='casual')

    print('--- Informações dos Veículos ---')
    print(carro_1)
    print(carro_2)
    print(carro_3)
    print(moto_1)
    print(moto_2)
    print(moto_3)


if __name__ == '__main__':
    main()

Resultado:
Saída no terminal

1 resposta

Oi, Pedro! Tudo bom?

Excelente! Siga praticando com os desafios.

Você soube aplicar a herança entre classes de forma eficiente, aproveitou o uso do método especial __str__ para deixar a saída dos objetos mais legível e entendeu como a organização em módulos é essencial para manter o código limpo e reutilizável.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!