No fim a resolução completa do meu código ficou:
Veículo.py:
from abc import ABC, abstractmethod
class Veiculo(ABC):
def __init__(self, nome, marca, modelo):
self._nome = nome
self._marca = marca
self._modelo = modelo
@abstractmethod
def ligar(self):
pass
def __str__(self):
return f'Nome: {self._nome} | Marca: {self._marca} | Modelo: {self._modelo} | '
carro.py:
from veiculo import Veiculo
class Carro(Veiculo):
def __init__(self, nome, marca, modelo, cor):
super().__init__(nome, marca, modelo)
self._cor = cor
def ligar(self):
return 'Carro acionado!'
def __str__(self):
return f'{super().__str__()}Cor: {self._cor}'
main.py:
from carro import Carro
mercedes_f1 = Carro('W15 E Performance', 'Mercedes-AMG', 'Fórmula 1', 'Preto')
ferrari_f1 = Carro('SF-24 aka Project 676', 'Scuderia Ferrari', 'Fórmula 1', 'Vermelho Ferrari')
sauber_f1 = Carro('Kick Sauber C44', 'Kick Sauber', 'Charrete', 'Preto/Verde')
print(mercedes_f1)
print(ferrari_f1.ligar())
print(ferrari_f1)
print(mercedes_f1.ligar())
print(sauber_f1)
print(sauber_f1.ligar())
Ao executar: