Programação Orientada a Objetos

Programação rientada a Objetos

Programacao


Sabemos que existem diversas maneiras de se programar. Alguns exemplos mais famosos são a programação
estruturada, programação concorrente e os 4 paradigmas da programação: orientada a objetos, imperativa, funcional e lógica.



Hoje o tema abordado será a programação orientada a objetos.


Conceitos


POO


A programação orientada a objetos foi criada com base na realidade. Como o nome diz, este tipo de programação
utiliza a interação de unidades apelidadas de objetos. Objetos são estruturas que podem ser palpáveis "fisicamente" e
alguns dos objetivos dele é facilitar a impementação, poder ser reutilizado, etc.



Em termos mais técnicos, o objeto é a instância de uma classe.



A classe é toda descrição do objeto: o que o objeto é capaz de fazer (métodos), o que o objeto possui
intrinsecamente (atributos). É a classe também quem define que "tipo" vai ser o objeto (exemplo: se a classe for "Lapis", o objeto instanciado será um lápis).


Os quatro pilares de POO


pilares


Temos 4 principais características que diferem a POO das outras formas de programação. Elas recebem o nome de pilares
da POO:

  1. Herança
  2. Polimorfismo
  3. Abstraçao
  4. Encapsulamento



Herança
A herança é a capacidade de uma classe herdar características de uma classe "mae". Por exemplo, suponhamos
que tenhamos uma classe Lapis e queremos criar uma classe Caneta. Para isso, podemos poupar tempo e linhas de código
simplesmente dizendo que a caneta herda características de Lápis (espessura da ponta, cor). A herança também passa os
métodos, logo a Caneta poderia ter um método escrever() presente no Lápis.




Polimorfismo
Deriva-se da ideia de herança. Como sabemos, um filho herda as características de seus ancestrais. Sabemos
também que se herdam as funções da classe mãe. Mas e se caso uma ação herdada nao condizer a lógica do novo objeto? Por exemplo, se
a Caneta herdar a ação apontar() presente em Lapis, percebemos que não seria uma boa ideia
pois não se faz uso de uma caneta apontando-a. Nesse caso podemos alterar esse método para que ele tenha função condizente com
uma caneta, como inserir um novo refil.

Essa capacidade de um método ter diferentes funcionamentos chamamos de polimorfismo.




Abstração
A abstração é um pouco mais dificil de explicar pois depende de projeto para projeto. Mas basicamente
é a forma como o desenvolvedor cria uma classe/objeto dentro do sistema. Tem que levar em consideração a que nível de detalhes
um objeto deve ter para poder ser bem utilizado, reutilizado e evitar que haja ambiguidade.




Encapsulamento
O encapsulamento seria uma forma de proteção para evitar futuros bugs e relacionados. Ela impede
que o usuário tenha acesso livre para executar todo tipo de operação, como modificar alguma característica ou método de um objeto.
Por exemplo, se o objeto Lapis possui o metodo Apontar, sabemos que ao executa-la a ponta do Lapis estaria renovada.
Mas nao sabemos o que de fato aconteceu durante o processo.


Usos da POO

Keep

A POO, assim como as outras, pode ser usada para propósitos geral de programação, para desenvolvimento de softwares, aplicativos mobile, aplicações web, etc.


Linguagens com suporte à POO

Linguagnes

  1. Java
  2. C++
  3. Python
  4. Ruby
  5. Javascript
  6. PHP


Comentários

Postagens mais visitadas deste blog

Emulador de Nintendo DS para pc: DesMuMe

NirCmd um plugin poderoso para seu cmd

PPSSPP O emulador de PSP