0
respostas

Hora da prática: métodos especiais e atributos

1-Implemente uma classe chamada Carro com os atributos básicos, como modelo, cor e ano. Crie uma instância dessa classe e atribua valores aos seus atributos.

class Carro:      
    def __init__(self, modelo, ano, cor ):
        self.modelo = modelo
        self.ano = ano
        self.cor = cor
      
    def __str__(self):
        return f' {self.modelo} | {self.ano} | {self.cor}'
    

byd = Carro('Dolphin', 'preto', '2025')

print(byd)

2-Crie uma classe chamada Restaurante com os atributos nome, categoria, ativo e crie mais 2 atributos. Instancie um restaurante e atribua valores aos seus atributos.

class Restaurante:
     def __init__(self, nome, categoria, localizacao, capacidade):
        self.nome = nome
        self.categoria = categoria
        self.ativo = False
        self.localizacao = localizacao
        self.capacidade = capacidade
     
     def __str__(self):
        return f' {self.nome} | {self.categoria} | {self.ativo} | {self.localizacao} | {self.capacidade}'

restaurante_sushi = Restaurante('Hokkaido', 'sushi', 'Fortaleza-Centro', '20')
    
print(restaurante_sushi)
    

3-Modifique a classe Restaurante adicionando um construtor que aceita nome e categoria como parâmetros e inicia ativo como False por padrão. Crie uma instância utilizando o construtor.

class Restaurante:
     def __init__(self, nome, categoria, localizacao, capacidade, ativo = False):
        self.nome = nome
        self.categoria = categoria
        self.ativo = False
        self.localizacao = localizacao
        self.capacidade = capacidade
     
     def __str__(self):
        return f' {self.nome} | {self.categoria} | {self.ativo} | {self.localizacao} | {self.capacidade}'

restaurante_marmita = Restaurante('Marmita da Ju', 'caseira', 'Fortaleza-Centro', '20')
    
print(restaurante_marmita)

4-Adicione um método especial str à classe Restaurante para que, ao imprimir uma instância, seja exibida uma mensagem formatada com o nome e a categoria. Exiba essa mensagem para uma instância de restaurante.

class Restaurante:
     def __init__(self, nome, categoria, localizacao, capacidade, ativo = False):
        self.nome = nome
        self.categoria = categoria
        self.ativo = False
        self.localizacao = localizacao
        self.capacidade = capacidade
     
     def __str__(self):
        return f' O restaurante {self.nome} pertence a categoria {self.categoria} possui status {self.ativo}, localizado em {self.localizacao} com capacidade para {self.capacidade} pessoas.'

restaurante_marmita = Restaurante('Marmita da Ju', 'caseira', 'Fortaleza-Centro', '20')
    
print(restaurante_marmita)

5-Crie uma classe chamada Cliente e pense em 4 atributos. Em seguida, instancie 3 objetos desta classe e atribua valores aos seus atributos através de um método construtor.

class Cliente:
     def __init__(self, nome, idade, email, telefone):
        self.nome = nome
        self.idade = idade
        self.email = email
        self.telefone = telefone
     
     def __str__(self):
        return f'{self.nome} | {self.idade} | {self.email} | {self.telefone}'

cliente_1 = Cliente('Juliana', '25', 'ju@gmail.com', '99686-5214')
cliente_2 = Cliente('Ana', '20', 'ana@gmail.com', '99686-0000')
cliente_3 = Cliente('Bob', '28', 'bob@gmail.com', '99600-8714')
    
print(cliente_1)
print(cliente_2)
print(cliente_3)