1
resposta

Resolução das Heranças

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 Vehicle():
    def __init__(self,brand, model):
        self._brand = brand
        self._model = model
        self._connected = 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._connected else 'Desligado'
        return f'Marca: {self._brand} -- Modelo: {self._model} -- 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

from vehicle import Vehicle
class car(Vehicle):
    def __init__(self,brand,model,door):
        super().__init__ (brand,model)
        self._door = door

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) e inclua a informação sobre a quantidade de portas do carro

def __str__(self):
       status =  'Ligado' if self._connected else 'Desligado'
       return f'Marca:{self._brand} -- Modelo: {self._model} -- Portas: {self._door} -- Status: {status}'

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.

from vehicle import Vehicle
class Motorcycle(Vehicle):
    def __init__(self,brand,model,type):
        super().__init__(brand,model)
        self._type = type

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) e inclua a informação sobre o tipo da moto.

    def __str__(self):
        status =  'Ligado' if self._connected else 'Desligado'
        return f'Marca:{self._brand} -- Modelo: {self._model} -- Tipo: {self._type} -- Status: {status}'

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

def main():


if __name__ == '__main__':
    main()

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 vehicle import Vehicle
from car import car
from motocycle import Motorcycle

my_car = car ('Mistsubhi','Lancer', 4)
my_car2 = car('Toyota','Corolla',4)
my_car3 = car('Honda', 'Civic', 4)

my_motorcycle = Motorcycle('Harley-Davidson', 'Street 750', 'Esportiva')
my_motorcycle2 = Motorcycle('Honda', 'CB 500', 'Casual')
my_motorcycle3 = Motorcycle('Yamaha', 'MT-09', 'Esportiva')

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

def main():
   print(my_car)
   print(my_car2)
   print(my_car3)

   print(my_motorcycle)
   print(my_motorcycle2)
   print(my_motorcycle3)
1 resposta

Oii, Marcelo! Tudo bem?

Você se saindo muito bem!

Gostei muito da forma como você implementou a herança e os métodos especiais __str__ nas classes Car e Motorcycle. Isso mostra uma boa compreensão dos conceitos de Orientação a Objetos.

Parabéns pelo empenho e agradeço por compartilhá-lo com a nossa comunidade, tenho certeza que servirá de inspiração para muitos colegas que possam estar com dificuldade!

Qualquer dúvida, conte conosco.

Bons estudos, Marcelo!