1.
Introdução
Uma linguagem de programação orientada a objetos é uma linguagem que adota e
implementa os princípios e conceitos da orientação a objetos.
A POO permite que programadores tenham softwares modulares, reutilizáveis e mais fáceis de
entender. Ele é basicamente um paradigma de programação que se baseia na organização dos
problemas em torno de objetos (instâncias de classes). Ela foi criada para permitir uma
visualização mais parecida do mundo real na programação.
Uma desvantagem da POO é a sua complexidade, para problemas simples ele pode adicionar
complexidade desnecessária. E a curva de aprendizado na POO é lenta.
2. Classes
Uma classe é um modelo que define a estrutura e o comportamento de objetos. Dentro das
classes podemos definir atributos (propriedades das classes) e os métodos (ações que os
objetos da classe podem fazer).
Uma função dentro de uma classe recebe o nome de método.
Declaração de classe
class NomeClasse:
Declaração de método padrão
Um método de criação recebe o nome de construtor. Um método/construtor padrão do
Python é o ‘init’ que cria automaticamente uma estrutura padrão. Esse método sempre será
padrão e seu nome não irá mudar. O parâmetro que esse método recebe é o ‘self’ que faz
referência a sua própria classe (funciona como uma porta que permite utilizar os métodos e
atributos dessa classe) e pode indicar outros parâmetros além do ‘self’. É opcional colocar ‘→
None’ que indica que o método não tem retorno (que é o comportamento padrão de um
construtor).
Sempre que desejar definir os atributos de uma classe deve utilizar construtor.
Para definir os atributos dentro do construtor utiliza a referência do método, o nome do
atributo e o faz receber um valor.
def __init__(self) → None:
[Link] = valor
Declaração de construtor
def __init__(self, valor1, valor2) → None:
self.nomeVariavel1 = valor1
self.nomeVariavel2 = valor2
Declaração de métodos
A declaração é igual a funções normais, com o adicional da obrigatoriedade de passar no
parâmetro o ‘self’.
def nomeMetodo (self):
Bloco a ser executado quando chamar o método.
3. Objetos
Objetos são criados a partir de uma classe respeitando os atributos e métodos que ela tem,
eles podem representar entidades do mundo real.
Criação
nomeObjeto = NomeClasse(parâmetros)
4. Pilares da POO
A POO possui quatro conceitos fundamentais: Abstração, Encapsulamento, Herança e
Polimorfismo.
4.1 Herança
Imagine possuir uma classe Animal com seus atributos e métodos definidos e se deseja criar
uma classe Cachorro que possua os mesmos atributos e métodos da classe Animal com alguns
adicionais, o que fazer para reaproveitar o que já foi definido na Classe Animal e evitar o
retrabalho?
A solução é utilizar o conceito de herança, que permite que uma classe (classe filho) herde os
atributos e métodos de outra classe (classe mãe).
Como herdar
class nomeClasseFilho (nomeClasseMãe):
Uma vez que a classe filho herde da classe mãe ele pode modificar os métodos herdados para
ajustá-lo às suas próprias características.
4.2 Polimorfismo
Polimorfismo permite que um método herdado da classe mãe seja reimplementado de outra
forma na classe filho.
4.3 Encapsulamento
O encapsulamento esconde os detalhes internos de implementação e controla o acesso aos
dados, impedindo que o objeto sofra modificações indevidas, aumentando a segurança
4.4 Abstração
A abstração consiste em ocultar detalhes complexos e irrelevantes, focando nas características
essenciais de um objeto. Permite a interação, sem que se conheça os detalhes internos de
funcionamento.