1
resposta

Hora da prática: instância de uma classe

# Crie uma Classe Pai (Veiculo): Implemente uma classe chamada Veiculo com um construtor que aceita dois parâmetros, marca e modelo. A 
# classe deve ter um atributo protegido _ligado inicializado como False por padrão.

class Veiculo:
    def __init__(self, marca, modelo):
        self._marca = marca
        self._modelo = modelo
        self._ligado = False

# Construa o Método Especial str: Adicione um método especial str à classe Veiculo que retorna uma mensagem formatada com a marca, modelo 
# e o estado de ligado/desligado do veículo.

    def __str__(self):
        status = "Ligado" if self._ligado else "Desligado"
        return f"{self._marca} {self._modelo} - Status: {status}"

# Crie uma Classe Filha (Carro): Agora, crie uma classe chamada Carro que herda da classe Veiculo. No construtor da classe Carro, inclua 
# um novo atributo chamado portas que indica a quantidade de portas do carro.

class Carro(Veiculo):
    def __init__(self, marca, modelo, portas):
        super().__init__(marca, modelo)
        self._portas = portas
        
# Implemente o Método Especial str na Classe Filha: Adicione um método especial str à classe Carro que estenda o método da classe pai 
# (Veiculo) e inclua a informação sobre a quantidade de portas do carro.

    def __str__(self):
       return f"{super().__str__()} - | Portas: {self._portas}"
       
# Crie uma Classe Filha (Moto): Similarmente, crie uma classe chamada Moto que também herda de Veiculo. Adicione um novo atributo chamado 
# tipo ao construtor, indicando se a moto é esportiva ou casual.

class Moto(Veiculo):
    def __init__(self, marca, modelo, tipo):
        super().__init__(marca, modelo)
        self._tipo = tipo
        
# Implemente o Método Especial str na Classe Filha (Moto): Adicione um método especial str à classe Moto que estenda o método da classe 
# pai (Veiculo) e inclua a informação sobre o tipo da moto
 
     def __str__(self):
        return f"{super().__str__()} - |Tipo da moto: {self._tipo}"

# Crie um Arquivo Main (main.py): Crie um arquivo chamado main.py no mesmo diretório que suas classes.

# Importe e Instancie Objetos: No arquivo main.py, importe as classes Carro e Moto. Em seguida, crie três instâncias de Carro e Moto com 
# diferentes marcas, modelos, quantidade de portas e tipos.

carro_um = Carro("Rolls-Royce", "Boat Tail", 2)
carro_dois = Carro("Bugatti", "La Voiture Noire", 2)
carro_tres = Carro("Pagani", "Zonda HP Barchetta", 2)

moto_um = Moto("Neiman Marcus", " Limited Edition Fighter", "Casual")
moto_dois = Moto("Ecosse", "ES1 Spirit", "Esportiva")
moto_tres = Moto("Harley-Davidson", "Cosmic Starship", "Casual")

# Exiba as Informações: Para cada instância, imprima no console as informações utilizando o método str.

Impressão no console:

Rolls-Royce Boat Tail - Status: Desligado - | Portas: 2
Bugatti La Voiture Noire - Status: Desligado - | Portas: 2
Pagani Zonda HP Barchetta - Status: Desligado - | Portas: 2
Neiman Marcus  Limited Edition Fighter - Status: Desligado - |Tipo da moto: Casual
Ecosse ES1 Spirit - Status: Desligado - |Tipo da moto: Esportiva
Harley-Davidson Cosmic Starship - Status: Desligado - |Tipo da moto: Casual
1 resposta

Boa Guilherme!