1
resposta

[Projeto] Meu Exercício

#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:
    carros = []

    def __init__(self, modelo, cor, ano):
        self.modelo = modelo
        self.cor = cor
        self.ano = ano
        self.carros.append(self)

z4 = Carro('Z4', 'Prata', '2024')

print(f'Modelo: {z4.modelo} | Cor: {z4.cor} | Ano: {z4.ano}')

#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_1:
    restaurantes = []

    def __init__(self, nome, categoria, cidade, contato):
        self.nome = nome
        self.categoria = categoria
        self.cidade = cidade
        self.contato = contato
        self.restaurantes.append(self)
        self.ativo = False
        self.mensagem = 'Ativo' if self.ativo else 'Inativo'

teda = Restaurante_1('Teda', 'SelfService', 'Itajaí', '04732470987')
print(f'Nome: {teda.nome} | Categoria: {teda.categoria} | Cidade: {teda.cidade} | Contato: {teda.contato} | Status: {teda.mensagem}')

#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_2:
    restaurantes = []

    def __init__(self, nome, categoria):
        self.nome = nome
        self.categoria = categoria
        self.restaurantes.append(self)
        self.ativo = False
        self.mensagem = 'Ativo' if self.ativo else 'Inativo'

almerinda = Restaurante_2('Almerinda', 'SelfService')
print(f'Nome: {almerinda.nome} | Categoria: {almerinda.categoria} | Status: {almerinda.mensagem}')

#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_1:
    restaurantes = []

    def __init__(self, nome, categoria, cidade, contato):
        self.nome = nome
        self.categoria = categoria
        self.cidade = cidade
        self.contato = contato
        self.restaurantes.append(self)
        self.ativo = False
        self.mensagem = 'Ativo' if self.ativo else 'Inativo'

    def __str__(self):
        return f'Nome: {self.nome} | Categoria: {self.categoria} | Cidade: {self.cidade} | Contato: {self.contato} | Status: {self.mensagem}'

teda = Restaurante_1('Teda', 'SelfService', 'Itajaí', '04732470987')

print(f'Metodo especial __str__: \n{teda}')

#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:
    lista_clientes = []

    def __init__(self, nome, idade, cidade, profissao):
        self.nome = nome
        self.idade = idade
        self.cidade = cidade
        self.profissao = profissao
        Cliente.lista_clientes.append(self)

    def __str__(self):
        return f'Nome: {self.nome} | Idade: {self.idade} | cidade: {self.cidade} | Profissão: {self.profissao}'
    
    def listar_clientes():
        for i in Cliente.lista_clientes:
            print(i)

thiago = Cliente('Thiago', 34, 'São Paulo', 'Analista de Negócios')
debora = Cliente('Debora', 41, 'Horizontina', 'Modelista')
catharina = Cliente('Catharina', 4, 'São José', 'Estudante')

Cliente.listar_clientes()
1 resposta

Olá, Thiago! Como vai?

Pelo que pude ver, você fez um ótimo trabalho na implementação das classes e instâncias para os exercícios propostos. Você seguiu as instruções corretamente e conseguiu aplicar os conceitos de orientação a objetos em Python de maneira eficaz.

Parabéns! Isso mostra o quanto está focado e que está praticando. Se precisar de alguma ajuda manda aqui.

Espero ter ajudado e bons estudos!