Você está na página 1de 17

PARADIGMA DE

ORIENTAÇÃO A
OBJETOS
INTRODUÇÃO
É possível optar por diversos paradigmas de programação ao desenvolver um
software. Certamente, atualmente, o mais utilizado na comunidade dos
desenvolvedores é o Paradigma da Programação Orientada a Objetos ou a POO . A
grande maioria das linguagens de programação modernas como Java, C#, Python
estão baseadas nesse tipo de modelo.

Com esse paradigma, o conceito tradicional de programação muda completamente. É


comum errarmos e aplicarmos a programação estruturada achando que estamos usando
recursos da orientação a objetos.

Através de quatro características inerentes a esse tipo de paradigma (objeto, classe,


atributo e método), houve uma transformação na forma de programar, tornando o
conceito de código-fonte algo completamente inovador.
DEFINIÇÃO DA POO
A Programação Orientada a Objetos (POO) é um paradigma de programação que visa aproximar o mundo real
do mundo virtual, por meio da criação e interação de objetos, atributos, métodos e outros elementos. A POO
surgiu com a linguagem Smalltalk, desenvolvida por Alan Kay na década de 1970, e introduziu conceitos
como classes, objetos, atributos e métodos.

Esse paradigma busca resolver conflitos e se aproximar das características do mundo real, utilizando objetos
com propriedades e valores semelhantes à realidade. Em contraste, a programação estruturada é composta
por sequências, condições e repetições, e tende a usar uma única rotina para executar todo o programa.

A POO é baseada em tipos abstratos de dados, herança e amarração dinâmica. Nesse paradigma, os
problemas são resolvidos por meio de objetos que se comunicam por mensagens, executam processamentos
e possuem um estado local modificável. Os três componentes fundamentais da POO são objetos, métodos e
classes.

A programação orientada a objetos tornou-se popular na década de 1980.


OS 4 PILARES DA POO
ABSTRAÇÃO:

Abstrair algo significa esconder os detalhes da implementação dentro de algo – às vezes um


protótipo, às vezes em uma função. Portanto, quando você chama a função, não precisa entender
exatamente o que ela está fazendo.
Um exemplo claro do conceito de abstração seria o funcionamento de um carro. Quando
acionamos ele para ligar, não precisamos saber quais passos ele faz para colocar o motor em
funcionamento. Quando acionamos o freio, não precisamos saber todos os mecanismos que são
acionados para fazer o carro frear. Apenas sabemos o que cada objeto ou função do carro produz
como resultado.

Voltando para a codificação, se você tivesse que entender cada função em uma base de código
grande, você nunca codificaria nada, pois, levaria meses para terminar de ler e entender a lógica de
tudo isso.

Contudo, abstraindo certos detalhes, você é capaz de criar uma base de código reutilizável, simples
de entender e facilmente alterável.
OS 4 PILARES DA POO
ENCAPSULAMENTO:

O encapsulamento na programação orientada a objetos refere-se à ideia de que cada objeto contém
seu próprio estado interno, mensagens e métodos. Isso significa que certos atributos e métodos
podem ser acessados apenas internamente pelo objeto (privados), enquanto outros podem ser
acessados externamente (públicos). O encapsulamento protege o objeto ao controlar o acesso e a
modificação de suas informações internas, evitando vazamentos de escopo e fornecendo uma
interface clara para interagir com o objeto.
OS 4 PILARES DA POO
HERANÇA:

A herança é uma propriedade importante da programação orientada a objetos que permite criar uma
hierarquia de classes, onde cada classe pode ter zero ou mais subclasses. Uma subclasse herda
todos os componentes da classe pai, incluindo sua estrutura interna e pares "mensagem - método".
A herança possibilita a definição de novas classes sem duplicar código, pois propriedades herdadas
podem ser reutilizadas ou redefinidas na subclasse, conforme necessário.

No exemplo do carro, diferentes versões do mesmo modelo podem existir com atributos e métodos
modificados. Por exemplo, o modelo Honda Fit tem uma versão chamada Honda Fit "Cross" que
possui alguns atributos e um método alterados, como tração nas quatro rodas. No entanto, a versão
"Cross" ainda é considerada uma subclasse do modelo Honda Fit, herdando os atributos e métodos
da classe pai, com algumas modificações específicas.

A herança permite estabelecer uma relação de tipo entre classes, onde uma classe é considerada um
tipo de outra classe. Isso possibilita a criação de hierarquias e a organização das classes em uma
estrutura mais abrangente.
OS 4 PILARES DA POO
HERANÇA:
OS 4 PILARES DA POO
Polimorfismo:

O polimorfismo deriva da palavra polimorfo, que significa multiforme, ou que pode variar a forma. Para a
POO, polimorfismo é a habilidade de objetos de classes diferentes responderem a mesma mensagem de
diferentes maneiras. Ou seja, várias formas de responder à mesma mensagem.
EXEMPLO:
Um dono de uma fábrica de brinquedos solicitou que seus engenheiros criassem um mesmo controle remoto para
todos os brinquedos de sua fábrica. A única restrição era que cada brinquedo atendesse aos comandos específicos
definidos pelo controle.

O controle remoto teria vários botões, sendo que todos eles seriam úteis para todos os brinquedos. Assim, quando o
usuário clicasse no botão mover, o controle enviaria o sinal MOVER para todos os brinquedos que estivessem no raio
de dois metros. A figura do próxima slide ilustra tal situação:
OS 4 PILARES DA POO
Polimorfismo:

Assim, quando o brinquedo recebe o sinal MOVER, ele se


move de acordo com a sua função. Para o avião, mover
significa VOAR, para o barco significa NAVEGAR, e para o
automóvel, CORRER. Observe que os brinquedos respondem
ao mesmo sinal de formas diferentes
CONCEITO DE CLASSES
CLASSES:

Uma classe é um conjunto de características e comportamentos que definem um grupo de objetos


relacionados. É um conceito abstrato que serve como um modelo ou molde para criar objetos. Uma classe
contém descrições de métodos (comportamentos) e atributos (características) que os objetos
pertencentes àquela classe possuirão. Ela representa uma ideia ou conceito e categoriza objetos com
propriedades semelhantes. Uma classe também é um objeto em si e pode receber mensagens e ter
métodos e um estado interno.
CONCEITO DE OBJETOS
OBJETOS:

Um objeto é uma instância de uma classe. Ele é composto por um conjunto de operações encapsuladas
(métodos) e um estado determinado pelo valor dos atributos (características). Um objeto possui tudo o que
é necessário para se conhecer e executar operações em resposta a mensagens recebidas. O resultado
dessas operações depende do conteúdo da mensagem e do estado do objeto no momento em que a
mensagem é recebida. Os objetos podem se comunicar entre si, enviando mensagens uns aos outros. Eles
representam uma coleção de dados relacionados a um tema comum.
CONCEITO DE MÉTODOS
MÉTODOS:

Métodos são similares a procedimentos e funções e consistem nas descrições das operações que um
objeto executa quando recebe uma mensagem. Há, portanto, uma correspondência um para um entre
mensagens e métodos que são executados quando a mensagem é recebida através de um dado objeto. A
mesma mensagem pode resultar em métodos diferentes quando for enviada para objetos diferentes. O
método associado com a mensagem é pré-definido.
CONCEITO DE ATRIBUTOS
ATRIBUTOS:

Um atributo consiste em um dado ou informação de estado, para o qual cada objeto de uma classe tem seu
próprio valor. Existem dois tipos de atributos em um sistema orientado a objetos: os atributos de objetos e
os atributos de classes. O primeiro, trata-se dos atributos que descrevem valores (estados) mantidos em
um objeto.

Diferentes objetos de uma mesma classe não compartilham os atributos de objetos, ou seja, cada um
possui sua própria cópia do atributo. Os atributos de classe são aqueles cujo valor todos os seus objetos
devem compartilhar.
CONCEITO DE ATRIBUTOS
ATRIBUTOS:
LINGUAGENS QUE UTILIZAM A POO
DENTRE AS LINGUAGENS DE PROGRAMAÇÃO QUE UTILIZAM A PROGRAMAÇÃO
ORIENTADA A OBJETOS, PODEMOS CITAR:

● C++;
● C#;
● Java;
● Object Pascal;
● VB.NET;
● Objective-C;
● Python;
● Ruby.
FONTES
● https://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264
● https://www.figma.com/file/PIS0llNZzqj3PkV0bqG48W/Untitled?type=design&node-id=0-1&t=oJc2M1Yn5
okD1xjO-0
● http://theclub.com.br/Restrito/Revistas/201208/ling1208.aspx
● https://materialpublic.imd.ufrn.br/curso/disciplina/5/76/8/2#:~:text=O%20polimorfismo%20deriva%20da%
20palavra,de%20responder%20%C3%A0%20mesma%20mensagem
.
● https://www.inf.pucrs.br/~gustavo/disciplinas/pli/material/paradigmas-aula12.pdf
● https://blog.betrybe.com/tecnologia/poo-programacao-orientada-a-objetos/
● https://www.alura.com.br/artigos/poo-programacao-orientada-a-objetos
● https://kenzie.com.br/blog/paradigma-da-poo/
● https://kenzie.com.br/blog/caracteristicas-da-poo/
● https://www.freecodecamp.org/portuguese/news/os-quatro-pilares-da-programacao-orientada-a-objetos-com-javascript/
OBRIGADO PELA
ATENÇÃO!

Você também pode gostar