Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

[Sugestão] instância de uma classe

1- 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 Vinculo:
    def __init__(self, marca, modelo):
        self.marca = marca
        self.modelo = modelo
        self._ligado = False

2- 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'Marca: {self.marca} | Modelo {self.modelo} | Status: {status}

3- 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(Vinculo):
    def __init__(self, marca, modelo, portas):
        super().__init__(marca, modelo)
        self.portas = portas

4- 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).

def __str__(self):
        return f'{super().__str__()} - Portas: {self.portas}'

5- 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(Vinculo):
    def __init__(self, marca, modelo, tipo):
        super().__init__(marca, modelo)
        self.tipo = tipo

6- 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).

def __str__(self):
        return f'{super().__str__()} - Tipo: {self.tipo}'

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

main.py

8- 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.

from ex01 import Carro
from ex01 import Moto

carro1 = Carro("Toyota", "Corolla", 4)
carro2 = Carro("Honda", "Civic", 2)
carro3 = Carro("Ford", "Fusion", 4)

moto1 = Moto("Harley-Davidson", "Street 750", "Esportiva")
moto2 = Moto("Honda", "CB 500", "Casual")
moto3 = Moto("Yamaha", "MT-09", "Esportiva")

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

print(carro1)
print(carro2)
print(carro3)

print(moto1)
print(moto2)
print(moto3)

Saida:

Marca: Toyota | Modelo Corolla | Status: Desligado - Portas: 4
Marca: Honda | Modelo Civic | Status: Desligado - Portas: 2
Marca: Ford | Modelo Fusion | Status: Desligado - Portas: 4
Marca: Harley-Davidson | Modelo Street 750 | Status: Desligado - Tipo: Esportiva
Marca: Honda | Modelo CB 500 | Status: Desligado - Tipo: Casual
Marca: Yamaha | Modelo MT-09 | Status: Desligado - Tipo: Esportiva