0
respostas

[Sugestão] tentei dessa forma

class Veiculo:

    def __init__(self, marca,modelo,protegido_ligado):
        self._marca=marca
        self._modelo=modelo
        self._protegido_ligado=False
    def __str__(self):
        return f'{self._marca} | {self._modelo} | {self._protegido_ligado}'
  
    @property
    def status(self):
        return 'Ligado' if self._protegido_ligado else 'Desligado'
        
        
        
from .veiculo import Veiculo

class Carro(Veiculo):
    carros=[]
    def __init__(self,marca,modelo,protegido_ligado,quantidade_portas):
        super().__init__(marca,modelo,protegido_ligado)
        self._quantidade_portas=quantidade_portas
        Carro.carros.append(self)
    def __str__(self):
        return f'{self._marca}{self._modelo}{self._protegido_ligado}{self._quantidade_portas}'
    @classmethod
    def listar_carro(cls):
      for carro in Carro.carros:
          print(f'Marca do carro: {carro._marca} | Modelo: {carro._modelo} | status: {carro.status} | número de portas: {carro._quantidade_portas}')
  
 
from .veiculo import Veiculo
class Moto(Veiculo):
  motos=[]
  def __init__(self,marca,modelo,protegido_ligado,tipo):
    super().__init__(marca,modelo,protegido_ligado)
    self.tipo=tipo
    Moto.motos.append(self)
  def __str__(self):
    return f'{self._marca}{self._modelo}{self._protegido_ligado}{self.tipo}'
  @classmethod
  def listar_motos(cls):
    for moto in Moto.motos:
      print(f'Marca da moto: {moto._marca} | Modelo: {moto._modelo} | status: {moto.status} | número de portas: {moto.tipo}')
  

from modelos.carro import Carro
from modelos.moto import Moto

carro1=Carro('Toyota','Corolla',False,4)
moto1=Moto('Honda','Biz 125',False,'Casual')

Carro.listar_carro()
Moto.listar_motos()