Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Claro! Vamos explorar um exemplo de programação orientada a objetos (POO) utilizando Python, uma linguagem popular e versátil para demonstrar os conceitos fundamentais. Vamos criar um sistema simples de gerenciamento de uma biblioteca, onde teremos classes para livros, usuários e bibliotecários, com métodos para adicionar livros, emprestar livros, consultar disponibilidade, calcular multa, entre outros.
### Exemplo de Programação Orientada a Objetos em Python
```python
# Definição das classes
class Livro:
 def __init__(self, titulo, autor, isbn, num_paginas):
 self.titulo = titulo
 self.autor = autor
 self.isbn = isbn
 self.num_paginas = num_paginas
 self.emprestado = False
 def emprestar(self):
 if not self.emprestado:
 self.emprestado = True
 print(f'O livro "{self.titulo}" foi emprestado.')
 else:
 print(f'O livro "{self.titulo}" já está emprestado.')
 def devolver(self):
 if self.emprestado:
 self.emprestado = False
 print(f'O livro "{self.titulo}" foi devolvido.')
 else:
 print(f'O livro "{self.titulo}" já está disponível.')
class Usuario:
 def __init__(self, nome, idade, endereco):
 self.nome = nome
 self.idade = idade
 self.endereco = endereco
 self.livros_emprestados = []
 def emprestar_livro(self, livro):
 if len(self.livros_emprestados) < 3:
 livro.emprestar()
 self.livros_emprestados.append(livro)
 else:
 print(f'{self.nome}, você atingiu o limite máximo de livros emprestados.')
 def devolver_livro(self, livro):
 if livro in self.livros_emprestados:
 livro.devolver()
 self.livros_emprestados.remove(livro)
 else:
 print(f'{self.nome}, você não possui o livro "{livro.titulo}" emprestado.')
class Bibliotecario:
 def __init__(self, nome, idade, endereco):
 self.nome = nome
 self.idade = idade
 self.endereco = endereco
 def consultar_disponibilidade(self, livro):
 if not livro.emprestado:
 print(f'O livro "{livro.titulo}" está disponível para empréstimo.')
 else:
 print(f'O livro "{livro.titulo}" não está disponível.')
 def calcular_multa(self, usuario):
 num_livros_atrasados = sum(1 for livro in usuario.livros_emprestados if livro.emprestado)
 multa = num_livros_atrasados * 5 # Supondo uma multa de R$ 5 por livro atrasado
 print(f'{usuario.nome}, sua multa total é de R$ {multa:.2f}.')
# Criando instâncias das classes
livro1 = Livro("Python Programming", "John Doe", "978-3-16-148410-0", 300)
livro2 = Livro("Machine Learning", "Jane Smith", "978-1-23-456789-0", 250)
usuario1 = Usuario("Alice", 25, "Rua das Flores, 123")
usuario2 = Usuario("Bob", 30, "Av. Principal, 456")
bibliotecario1 = Bibliotecario("Carol", 35, "Praça Central, 789")
# Exemplo de interação do sistema
usuario1.emprestar_livro(livro1)
usuario1.emprestar_livro(livro2)
usuario2.emprestar_livro(livro1)
bibliotecario1.consultar_disponibilidade(livro1)
bibliotecario1.consultar_disponibilidade(livro2)
usuario1.devolver_livro(livro1)
usuario1.devolver_livro(livro2)
bibliotecario1.calcular_multa(usuario1)
```
### Explicação do Exemplo
1. **Classes Definidas:**
 - `Livro`: Representa um livro com atributos como título, autor, ISBN e número de páginas. Métodos permitem emprestar e devolver o livro.
 - `Usuario`: Representa um usuário da biblioteca com métodos para emprestar e devolver livros.
 - `Bibliotecario`: Representa um bibliotecário com métodos para consultar a disponibilidade de um livro e calcular a multa de um usuário.
2. **Instâncias Criadas:**
 - Criamos instâncias de `Livro`, `Usuario` e `Bibliotecario` para simular interações dentro do sistema.
3. **Interatividade do Sistema:**
 - Os usuários podem emprestar e devolver livros, enquanto o bibliotecário pode consultar a disponibilidade de livros e calcular multas.
### Conclusão
Este exemplo ilustra como a POO pode ser aplicada para modelar e simular sistemas complexos de forma organizada e eficiente. Cada classe representa entidades do mundo real com suas próprias características e comportamentos, facilitando a criação de sistemas que são fáceis de entender, modificar e expandir. A programação orientada a objetos é essencial na construção de aplicativos robustos e escaláveis na tecnologia da informação, promovendo uma melhor estruturação e reutilização de código.

Mais conteúdos dessa disciplina