veiculo.py
from abc import ABC, abstractmethod
class Veiculo(ABC):
    def __init__(self, marca, modelo):
        self._marca = marca
        self._modelo = modelo
        self._ligado = True
        
    @abstractmethod
    def ligar(self):
        pass
carro.py
Gostaria de saber se faz sentido a "def ligar(self)", da forma a seguir:
from Exer_aula2.veiculo import Veiculo
class Carro(Veiculo):
    def __init__(self, marca, modelo, cor):
        super().__init__(marca, modelo)
        self._cor = cor
    def ligar(self):
        return '☑' if self._ligado == True else '☐'
            
    def __str__(self):
        return f"{self._marca.ljust(15)} | {self._modelo.ljust(15)} | {self._cor.ljust(15)} | {self.ligar()}"
main.py
from Exer_aula2.carro import Carro
carro1 = Carro('Chevrolet', 'Camaro', 'Preto')
carro2 = Carro('BMW', "Mini Cooper", 'Vermelho')
carro3 = Carro('Toyota', 'Corolla Cross', 'Azul')
def main():
    print(f"\n{'Marca'.ljust(15)} | {'Modelo'.ljust(15)} | {'Cor'.ljust(15)} | {'Ligado'}")
    print(f"{carro1}")
    print(f"{carro2}")
    print(f"{carro3}")
if __name__ == '__main__':
    main()
 
            