Trabalho Lógica de Programação e Paradigmas
Trabalho Lógica de Programação e Paradigmas
Trabalho Lógica de Programação e Paradigmas
Programação Estruturada:
calc = Calculadora()
resultado = calc.somar(5, 10)
print(resultado)
Objetos e Classes:
A Programação Orientada a Objetos (POO) é um paradigma de programação que se
baseia no conceito de "objetos" e "classes". Essa abordagem permite organizar o código
de forma mais modular e reutilizável, ao modelar entidades do mundo real como
objetos, que possuem atributos (características) e métodos (ações). As classes são as
estruturas que definem os objetos, especificando quais atributos e métodos eles
possuem.
Classes: Uma classe é uma estrutura que define um tipo de objeto. Ela encapsula os
dados (atributos) e comportamentos (métodos) que os objetos dessa classe irão possuir.
As classes servem como modelos para criar múltiplos objetos com características
similares. Por exemplo, se estivéssemos modelando carros, poderíamos ter uma classe
"Carro" que define os atributos comuns a todos os carros, como cor, marca, modelo e
métodos como ligar, desligar, acelerar, etc.
Objetos: Um objeto é uma instância de uma classe. Em outras palavras, quando uma
classe é instanciada, ela se torna um objeto específico com seus próprios valores para os
atributos e pode executar os métodos definidos na classe. Por exemplo, se criarmos um
objeto "carro1" a partir da classe "Carro", esse objeto terá suas próprias características,
como cor, marca e modelo, e poderá executar métodos como ligar e desligar.
Funcionamento:
Para entender melhor o funcionamento de classes e objetos, vamos considerar dois
exemplos simples em algoritmos:
class Pessoa:
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
def apresentar(self):
print(f"Olá, meu nome é {self.nome} e tenho {self.idade} anos.")
# Criando objetos
pessoa1 = Pessoa("João", 30)
pessoa2 = Pessoa("Maria", 25)
# Chamando métodos
pessoa1.apresentar()
pessoa2.apresentar()
Neste exemplo, temos a classe "Pessoa", que possui os atributos "nome" e "idade" e o
método "apresentar", que imprime uma mensagem de apresentação com o nome e idade
da pessoa. Depois, criamos dois objetos, "pessoa1" e "pessoa2", a partir dessa classe e
chamamos o método "apresentar" para cada um deles.
Exemplo 2: Classe Conta Bancária
class ContaBancaria:
def __init__(self, titular, saldo=0):
self.titular = titular
self.saldo = saldo
# Criando objeto
conta1 = ContaBancaria("João")
# Realizando operações
conta1.depositar(1000)
conta1.sacar(500)
Atributos e Métodos
class Pessoa:
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
def apresentar(self):
print(f"Olá, meu nome é {self.nome} e tenho {self.idade} anos.")
# Criando objeto
pessoa1 = Pessoa("João", 30)
# Acessando atributos
print(pessoa1.nome) # Saída: João
print(pessoa1.idade) # Saída: 30
# Chamando método
pessoa1.apresentar() # Saída: Olá, meu nome é João e tenho 30 anos.
Neste exemplo, temos a classe "Pessoa", que possui os atributos "nome" e "idade" e o
método "apresentar" para imprimir uma mensagem de apresentação com o nome e idade
da pessoa. O método __init__ é um método especial em Python usado para inicializar os
atributos quando um objeto é criado. Criamos um objeto pessoa1 a partir dessa classe e
acessamos seus atributos usando a notação de ponto. Em seguida, chamamos o método
apresentar para exibir a mensagem de apresentação.
def calcular_area(self):
return self.comprimento * self.largura
def calcular_perimetro(self):
return 2 * (self.comprimento + self.largura)
# Criando objeto
retangulo1 = Retangulo(5, 3)
# Chamando métodos
print(retangulo1.calcular_area()) # Saída: 15
print(retangulo1.calcular_perimetro()) # Saída: 16
Vocabulário
1. Classe:
Definição: Uma classe é um modelo ou uma planta de um objeto. Ela define os atributos
e métodos que os objetos desse tipo terão.
Função: As classes são usadas para criar objetos. Elas encapsulam comportamentos e
estados em um único objeto.
2. Objeto:
Definição: Um objeto é uma instância de uma classe. Ele possui características
(atributos) e comportamentos (métodos) definidos pela classe.
Função: Os objetos são as entidades que manipulamos e trabalhamos em programas
orientados a objetos. Eles permitem representar entidades do mundo real em código.
3. Atributo:
Definição: Um atributo é uma variável associada a uma classe ou a um objeto. Ele
armazena informações sobre o estado do objeto.
Função: Os atributos representam características dos objetos e são usados para
armazenar dados específicos de cada objeto.
4. Método:
Definição: Um método é uma função associada a uma classe ou a um objeto. Ele define
o comportamento dos objetos dessa classe.
Função: Os métodos representam as ações que os objetos podem realizar. Eles podem
manipular os atributos do objeto ou realizar outras operações.
5. Construtor (__init__):
Definição: O construtor é um método especial em Python que é chamado
automaticamente quando um objeto é criado. Ele inicializa os atributos do objeto.
Função: O construtor é usado para definir e inicializar os atributos de um objeto quando
ele é criado.
6. Herança:
Definição: A herança é um mecanismo que permite que uma classe herde atributos e
métodos de outra classe. A classe que herda é chamada de subclasse, e a classe da qual
ela herda é chamada de superclasse ou classe base.
Função: A herança permite reutilizar código e estabelecer uma relação hierárquica entre
as classes, promovendo a modularidade e a extensibilidade do código.
7. Encapsulamento:
Definição: O encapsulamento é um conceito que se refere à ocultação dos detalhes
internos de implementação de uma classe, expondo apenas uma interface para interagir
com ela.
Função: O encapsulamento ajuda a proteger o estado interno de um objeto, permitindo
que os detalhes de implementação sejam alterados sem afetar o código que utiliza a
classe.
8. Polimorfismo:
Definição: O polimorfismo é a capacidade de um objeto executar métodos de maneiras
diferentes com base no contexto em que são chamados.
Função: O polimorfismo permite que diferentes classes implementem métodos com o
mesmo nome, mas comportamentos diferentes, promovendo a flexibilidade e a
reutilização de código.
9. Override (sobrescrita):
Definição: O override ocorre quando uma subclasse define um método com o mesmo
nome e assinatura de um método da superclasse.
Função: O override permite que a subclasse forneça uma implementação específica para
um método herdado da superclasse, substituindo a implementação padrão da
superclasse.
10. Acesso a Atributos e Métodos:
Definição: O acesso a atributos e métodos refere-se à capacidade de ler ou modificar os
valores dos atributos e chamar os métodos de um objeto.
Função: O acesso a atributos e métodos é fundamental para interagir com os objetos de
uma classe, permitindo manipular seu estado e comportamento.