Programação Orientada a Objetos (POO)
Este post tem como objetivo explicar claramente o que é o paradigma de programação orientada a objetos (POO). Outros posts explicarão conceitos agregados a este, como o de classes, objetos, herança, polimorfismo etc.
Para começar vamos revisar o modelo de programação procedural, para que assim possamos ter uma base para comparação entre este modelo e a POO. Um sistema de informação que faz uso da programação procedural tem como princípio a criação e execução de procedimentos ou funções. Neste paradigma podemos criar certas rotinas para resolver um determinado problema. Estas rotinas, ou funções, são compostas de um número limitado de comandos para a solução do problema. Por exemplo, para calcular o fatorial de um número podemos criar uma função para fazer isto. A função receberá um número (parâmetro) e terá que nos fornecer um resultado, neste caso o número fatorial do parâmetro passado. Após criá-la é só chamar a função no nosso código passando um número como parâmetro. Em PHP, uma linguagem procedural mas que pode ser Orientada a Objetos, isto ficaria assim:
<?php
function factorial($num) {
if(($num == 0)||($num == 1)) {
return 1;
}
else {
return $num*factorial($num-1);
}
}
echo factorial(7);
?>
Pronto, desta forma isolamos a rotina para solucionar o problema de cálculo de fatorial e poderemos chamar esta rotina sempre que precisarmos. Esta é exatamente e idéia desta forma de programar, isolar soluções para problemas em funções podendo assim reutilizá-las. Isto nos poupa muito tempo e trabalho repetitivo além de deixar o código mais legível.
Porém atualmente outro paradigma de programação vem sendo amplamente adotado, forma esta que possui muitas facilidades e benefícios. É a Programação Orientada a Objetos. Esta baseia-se na criação e interação entre objetos. O que a POO tenta fazer é aproximar a solução de um problema computacional ao mundo real. Assim sendo, usar este paradigma facilitará a construção de sistemas de informação. Para entendê-lo mais a fundo vamos ver como funcionam os sistemas naturais. Por exemplo, o sistema respiratório. Vários órgãos(objetos) fazem parte dele e é a interação entre estes órgãos que possiblita o funcionamento deste sistema. Cada órgão é responsável por uma ou várias funções, e para realizar seu trabalho eles se “comunicam” trocando mensagens e até mesmo interagem com órgãos de outros sistemas de nosso organismo, permitindo assim que vivamos. No mundo da POO é isto que temos, objetos executando suas funções e trocando mensagens entre si, para que juntos formem um sistema computacional. Obviamente tais objetos não são “reais” mas sim são estruturas computacionais armazenadas na memória do computador ou em outro meio (Ex.: Bancos de dados). Agora que sabemos o que é POO, vamos conhecer mais a fundo outros conceitos envolvidos nisto, como o conceito de classe e objeto que abordaremos no próximo post.
Olá Lucas!
Muito bom esse Post sobre orientação a objetos. Foi claro e objetivo sem a necessidade de abordar toda a parte conceitual da POO, pois programador quer saber mesmo é de programar.
Creio que a questão central na POO seja o “reaproveitamento de código”. Uma OO feita de forma correta poupa tempo e esforços no futuro.
Valeu!