1
resposta

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

from abc import ABC, abstractmethod


# 1- Crie uma classe chamada Veiculo...
class Vehicle(ABC):
    # 3- No mesmo arquivo, crie um construtor para a classe Veiculo que aceita os parâmetros marca e modelo.
    def __init__(self, make: str, model: str):
        self.make = make
        self.model = model

    # 2- ...com um método abstrato chamado ligar.
    @abstractmethod
    def start(self):
        pass

from vehicle_v2 import Vehicle


# 4-  Crie uma nova classe chamada Carro que herda da classe Veiculo.
class Car(Vehicle):
    # 5- 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.
    def __init__(self, make: str, model: str, color: str):
        super().__init__(make, model)
        self.color = color

    def start(self):
        return f"The car {self.model} is on!"

    # Create method str to show the the instance in app.py
    def __str__(self):
        return f"Make: {self.make} | Model: {self.model} | Color: {self.color}\n {self.start()}"
# 6- Em um arquivo chamado main.py, importe a classe Carro.
from car_v2 import Car
from vehicle_v2 import Vehicle

# 7- No arquivo main.py, instancie três objetos da classe Carro com diferentes características, como marca, modelo e cor.
corsa = Car("Chevrolet", "Corsa", "red")
palio = Car("Fiat", "Palio", "black")
uno = Car("Fiat", "Uno", "gray")

vehicles = [corsa, palio, uno]
print("Vehicles: \n")
for vehicle in vehicles:
    if isinstance(vehicle, Car):
        print(f"{(type(vehicle).__name__).upper()} - {vehicle}")

    else:
        raise Exception("The object is not a valid vehicle.")
1 resposta

Olá, Thaís! Tudo bem?

Excelente resolução!

Você aplicou com muita clareza os conceitos de Classes Abstratas (ABC) e Herança. Seu código vai além do básico, demonstrando boas práticas e validação de tipos.

Continue explorando esses recursos avançados do Python!

Bons estudos!

Sucesso

Imagem da comunidade