1
resposta

Hora da prática: métodos especiais e atributos

Classe Veiculo

from abc import ABC, abstractmethod

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

    @abstractmethod
    def ligar(self):
        pass

Classe Carro

from veiculo import Veiculo

class Carro(Veiculo):
    def __init__(self, marca, modelo, cor):
        super().__init__(marca, modelo)
        self.cor = cor

    def ligar(self):
        print('O ' + self.marca + ' ' + self.modelo + ' está ligado.')

    def __str__(self):
        return f'O {self.marca} {self.modelo} - Cor: {self.cor}'

Classe App

from carro import Carro

def main():
    # Instanciando objetos da classe Carro
    carro1 = Carro('Fiat', 'Palio', 'Azul')
    carro2 = Carro('Volkswagen', 'Gol', 'Prata')
    carro3 = Carro('Jeep', 'Renegade', 'Preto')

    carro1.ligar()
    carro2.ligar()
    carro3.ligar()

if __name__ == '__main__':
    main()

Terminal

O Fiat Palio está ligado.
O Volkswagen Gol está ligado.
O Jeep Renegade está ligado.
1 resposta

Olá, Anderson! Belezinha?

Ótimo trabalho com o exercício! Caso haja algum problema, basta compartilhar com mais detalhes aqui no fórum para que eu possa ajudá-lo! Um forte abraço e bons estudos!