0

PROGRAMAÇÃO ORIENTADA A OBJETOS(POO) E PROGRAMAÇÃO ESTRUTURADA(PE)

Nayara Loureiro
Nayara Loureiro

Em programação, existem dois tipos bastante utilizados, quais sejam: Programação Orientada a Objetos(POO) e Programação Estruturada(PE). Neste artigo iremos analisar algumas das diferenças principais entre esses tipos de estrutura, a começar pela POO.


1.     Programação Orientada a Objetos(POO)


A POO corresponde a um modelo de programação destinado a definição de objetos pelas classes existentes no programa. Cada comportamento do objeto é definido através de métodos e os estados (atributos). As linguagens que normalmente utilizam a POO são: C++, C#, Java, entre outras.


O modelo foi criado com o objetivo de aproximar o mundo real e do mundo virtual, fazendo com que as classes implementadas reunissem objetos com características peculiares, de forma a descrever todos os serviços possíveis e disponíveis, bem como quais informações poderiam ser armazenadas. Tudo isso, para oferecer suporta à definição dos objetos dentro da linguagem.


A POO possui 4 (quatro) pilares, sendo eles:


Abstração - basicamente consiste na representação da ação do objeto, ou seja, imaginar o que o processo irá fazer.


Na abstração devemos seguir determinados passos. Em primeiro momento, realizamos a identificação do objeto ou da class que iremos criar. É necessário que essa identificação seja única, para evitar conflitos dentro do sistema.


Após a criação, o próximo passo é definir as características do objeto, ou seja, as propriedades daquele elemento. Por exemplo: ter “tipo”, “tamanho”, “cor”, “raça”, “idade” poderiam ser propriedades do objeto “animal”.


Por fim, devemos definir as ações que o objeto irá realizar. Essas ações são chamadas de métodos. Utilizando o exemplo do animal, esses métodos podem ser variáveis como “andar”, “correr”, “latir”, “roer”, “miar”, etc.


Vejamos um exemplo em C# a seguir:


public class Veiculo
{
private string tipo;
public string Tipo
{
get {return tipo; }
set { tipo = value; }
}
public Veiculo(string tipoVeiculo)
{
this.tipo = tipoVeiculo;
}
public virtual void Mover()
{ }

public virtual void Parar()
{ }
}


Observe que, a class Veiculo possui como propriedade "Tipo" e como método as variáveis "Mover" e "Parar".


Encapsulamento - consiste numa das principais técnicas para fazer com que os detalhes do funcionamento de um programa permaneçam ocultos aos objetos. Servem para agregar mais segurança à aplicação em um programa, pois evita o acesso direto. Para tanto são utilizados métodos e atributos.


Em um procedimento de encapsulamento, uma class é oculta através dos atributos do tipo public ou private. Para acessar esses tipos, devemos utilizar os métodos setters ou getters que irão setar ou retornar o valor da propriedade.


Exemplo 1 - Getters:
public string getNome()
{
return nome;
}


Exemplo 2 - Setters:

public void setNome(string nome)
{
this.nome = nome;
}


Herança - Basicamente consiste na reutilização do código com a finalidade de otimizar a produção de uma aplicação.


Na herança o objeto abaixo irá herdar as características acima dele. Na herança dos objectos logo acima é denominada de herança direta, enquanto que as demais são classificadas como herança indireta.


Imporante ressaltar que, a herança pode variar conforme a linguagem utilizada. Na linguagem C++, por exemplo, um objeto pode herdar mais de uma característica de diversos ancestrais simultaneamente. Esse fenômeno denomina-se herança múltipla.


Contudo, em outras linguagens, como o C#, existe uma class base para os demais herdarem, fornecendo-lhes características para os demais objetos, criados ou não pelo usuário.


Polimorfismo - Em resumo, o polimorfismo consiste na alteração das funções de um determinado método herdade de um objeto pai. Por exemplo, se um determinado objeto, denominado de "Eletrodoméstico" tiver por ação, "Ligar" ou "Desligar", podemos ter outros objetos "Radio", "Chapinha", "Geladeira" que não irão ter funções de ligar/desligar iguais. Assim, para cada objeto precisaremos reescrever o método apropriado para a execução dessas funções.


Outra questão importante é que, na linguagem C#, o polimorfismo faz uso de métodos virtuais, através da utilização da chave virtual, para que os objetos sejam reimplementados com a chave override nas classes filhas. O exemplo fornecido quando estudamos abstração demonstra a utilização da chave virtual.


Observe que, esses quatro pilares são importantíssimos para para a POO, pois são bases interligadas. Por essa razão, é interessante que se tenha um entendimento, ainda que básico, para trabalhar com essas ferramentas.




1.     Programação Estruturada(PE)


A PE corresponde ao modelo utilizado para processar a entrada de dados do programa, alterando-os para que a saída esperada seja gerada. A POO também realiza esse procedimento, no entanto a diferença é que na PE o programa geralmente é escrito em determinada regra, podendo conter subregras, porém o fluxo de execução do programa continua sendo o mesmo, como se a regra geral executasse o programa todo.


Ademais, diferente da POO, na PE o acesso às variáveis possuem menos restrições. Por exemplo, o uso da palavra “static” na linguagem C, permite que uma variável seja utilizada por poucas rotinas de um programa.


Estas são as características e conceitos básicos a respeito de POO e PE.


Espero ter ajudado!


Até a próxima! Bons estudos!

0
0

Comentários (3)

0
Isabella Ramos

Isabella Ramos

22/09/2021 22:42

Excelente Artigo! Adorei seu resumo = )

0
Nayara Loureiro

Nayara Loureiro

22/09/2021 20:25

Obrigada Thiago! Fico feliz que gostou!

0
Tiago Lazarini

Tiago Lazarini

22/09/2021 19:10

Excelente o artigo Nayara. Parabéns.

Graduanda em Análise e Desenvolvimento de Sistemas na FATEC de Mogi das Cruzes. Advogada desde 2018.Bacharel em Direito pela Universidade Braz Cubas em 2017.

Brasil