Página Inicial > POO > Programação Orientada a Objectos – Parte 1

Programação Orientada a Objectos – Parte 1

Introdução

A programação orientada a objectos (POO) permite-nos escrever códigos menos propenso à falhas além de nos permitir a reutilização do código de maneira mais conveniente.

Nesta série de artigos sobre POO veremos as características da Programação Orientada a Objectos (POO) utilizando os conceitos das linguagens .NET e como utilizar os diferentes elementos que nos permitirão criar código que seja mais fácil de escrever e gerir (manter).

A Programação Orientada a Objectos

Em toda programação existe uma secção denominada Caderno de Principiantes onde se estuda o algoritmo e estrutura de dados a nível de iniciação. Está planeado que se estude o nível teórico da programação orientado a objectos, principalmente para aqueles que não têm noção alguma sobre a POO .

Os Pilares da POO

Recordemos são três as principais características de uma linguagem orientada a objectos, ou seja, uma linguagem é considerada orientada a objectos se é capaz de prover estas três características:

  • Encapsulamento;
  • Herança;
  • Polimorfismo.

Vamos ver uma breve descrição de cada uma delas e depois aplicarmos elas para melhor compreendermos os seus significados e como pode nos ajudar a criar aplicações que aproveitam todas as possibilidades que uma POO nos oferece.

Encapsulamento: É a qualidade de unificar os dados e a forma de manipula-los, desta forma podemos ocultar o funcionamento de uma classe e expor somente os dados que manipula (utilizando propriedades), assim como prover tais dados a outros (classes) para poder manipular os mesmos (mediante métodos). Desta forma expomos somente ao mundo exterior a informação e a forma de manipula-la, ocultando os detalhes utilizados para manejar esses dados e, o que é mais importante, evitando que nada manipule os dados de forma descontrolada.

Herança: É a habilidade de poder criar novas classes (ou tipos) baseadas em outras classes, de forma que a nova classe herda todas as características da classe que herdou, tanto os dados que contém como a forma de manipula-las, podendo adicionar novas características e inclusive alterar o comportamento de alguns métodos da classe base. Mediante a herança podemos criar de forma fácil uma hierarquia de classes que partilham o mesmo comportamento básico mas que cada nova geração possa ter um novo comportamento.

Polimorfismo: é a habilidade de implementar de forma particular algumas das características que as classes têm, de forma que quando precisamos utiliza-las não nos preocupemos com a implementação interna que cada uma tenha, o que realmente nos interessa ou nos deve importar é que podemos usar essas características e inclusive aceder a elas de forma anónima… ou quase.

Outras características da POO

Tal como teremos oportunidade de ver, a POO se baseia em três características que são comuns em todas as linguagens orientadas a objectos, mas se termos estas características e não soubermos como aplica-las, a verdade é que não nos será de muita utilidade.

Mas antes de ver algo de concreto, acredito ser importante aprendermos outros conceitos relacionados também com a POO, mas desta vez desde o ponto de vista do programador e não de uma linguagem especifica, ou seja, vamos deixar a parte teórica de lado e vamos ser mais práticos, já que os conceitos que seguem serão utilizados no nosso dia-a-dia. Também nos interessa conhece-las para aproveitar o que uma linguagem Orientada a objectos nos oferece.

Apesar do que foi dito ou será dito seja aplicável em qualquer linguagem orientada a objectos, vamos nos focar nas tecnologias :NET (C# e VB.NET ).

Por hoje ficamos por aqui, e até a próxima. Críticas, correcções, sugestões, são sempre bem vindas!