1
resposta

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

1 Crie uma classe chamada Veiculo com um método abstrato chamado ligar.

from abc import ABC, abstractmethod

@abstractmethod
    def ligar(self):
        pass

2 No mesmo arquivo, crie um construtor para a classe Veiculo que aceita os parâmetros marca e modelo.

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

3 Crie uma nova classe chamada Carro que herda da classe Veiculo.

from veiculo import Veiculo

class Carro(Veiculo):

4 No construtor da classe Carro, utilize o método super() para chamar o construtor da classe pai e atribua o atributo específico cor à classe filha.

from veiculo import Veiculo

class Carro(Veiculo):
    def __init__(self, marca, modelo, cor):
        super().__init__(marca, modelo)
        self.cor = cor
        
    def ligar(self):
        print(f'O carro {self.marca} {self.modelo} está ligado.')

    def __str__(self):
        return(f'MARCA = {self.marca} | MODELO = {self.modelo} | COR = {self.cor}')

5 Em um arquivo chamado main.py, importe a classe Carro.

from carro import Carro

6 No arquivo main.py, instancie três objetos da classe Carro com diferentes características, como marca, modelo e cor.

carro1 = Carro('Toyota', 'Corolla', 'Preto')
carro2 = Carro('Chevrolet', 'Tracker', 'Cinza')
carro3 = Carro('Chevrolet', 'Montana', 'Branca')

print(carro1)
carro1.ligar()
print(carro2)
carro2.ligar()
print(carro3)
carro3.ligar()
1 resposta

Oi André! Tudo bem?

Analisando seus códigos, posso dizer que você fez um excelente trabalho. Todos os códigos estão corretos e seguem as instruções do desafio.

Então, continue com o bom trabalho e não hesite em pedir ajuda sempre que precisar.

Bons estudos!