Pesquisar

Newsletter

Receive HTML?

Designed by:
SiteGround web hosting Joomla Templates
Introdução a Programação Orientada a Objetos PDF Imprimir E-mail
Avaliação do Usuário: / 0
PiorMelhor 
Escrito por icefusion   
Sex, 18 de Junho de 2010 11:36

1. Introdução

Como todos sabemos, o desenvolvimento de sistemas vem exigindo mais e mais velocidade em sua criação e manutenção. Aplicação de Frameworks, Ideologia de Programação XP e Design Patterns vem sendo os principais meios de acelerar esse processo demorado. Para o bom uso e aplicação dos mesmos, o conhecimento da programação orientada a objetos é indispensável. Este artigo vem dar uma idéia inicial sobre o que é a Programação Orientada a Objeto cujo o qual vou referenciar pela sigla POO durante o artigo.

2. O que vem a ser POO

A POO é um método, forma ou conceito de como desenvolver um sistema, isto e uma forma de programação. A POO visa aproximar o "Mundo Real" do "Mundo Virtual" através de conceitos como Objetos, Classes e Atributos. Todos estes conceitos ja conhecemos desde de cedo. Um exemplo Objeto pode ser uma casa ou um lápis ou ainda uma pessoa.

 

3. Conceitos Básicos

3.1. Classe

A classe é uma abstração que define o objeto em si, isto é a descrição do conjunto de dados estruturados que possuem características comuns entre eles. Quando criamos uma classe, estamos criando o modelo do que o queremos que aquele objeto faça. Junto a ele teremos o que tipo de informações o objeto terá, no caso isso seria seus atributos e também o que este objeto irá fazer, no caso os seus métodos. Um Exemplo básico de Classe seria: Pessoa.

 

3.2. Atributos

Atributos nada mais são que variáveis (se fosse em banco de dados seria Campos) que podem ser de qualquer tipo e armazenaram valores que estaram dentro da classe para serem manipulados. Exemplo de Atributos de nossa classe Pessoa: Nome, Sobrenome.

 

3.3 Métodos

Os Métodos podem ser comparados à funções ou procedimentos. São eles que dizem as ações que aquele determinado Objeto pode fazer. Seria a Implementação de uma rotina ou propriamente o código dentro daquele objeto. Exemplo de Métodos: escreverNome().

 

 

 

Classe Pessoa e seus Atributos e Métodos

 

 

3.4 Herança

Dentro da Orientação a Objetos temos vários conceitos que tornam a sua codificação caracterizada como POO. Mais uma delas é a Herança. Como o próprio nome diz a herança de uma classe faz com que a classe que está recebendo a herança ou sub-classe herde o acesso a estrutura de dados e aos códigos da classe herdada ou super-classe.  Todo o comportamento da classe herdada é recebida para a outra classe. Isso nos faz poupar códigos ja escritos anteriormente, sendo um dos pontos fortes da POO, o reaproveitamento de código. Um Exemplo de Herança da Classe Pessoa: Física, Jurídica

A Superclasse é a classe mãe das outras ou a classe que será herdada pelas classes filhas. Esta classe é a generalização de métodos e atributos de um grupo de objetos que possuiem caracteristicas iguais. Seria uma classe mais genérica.

A Subclasse é a classe filha, a classe que herdará as características da classe mãe. Esta classe é uma especialização da classe mãe onde são adicionados alguns métodos ou atributos mais específicos para o comportamento daquela classe. Seria uma classe mais específica.

 

 

 

Super- Classe  Pessoa - Sub-Classes - Jurídica / Física

 

3.5 Encapsulamento

Uma outra característica importante da Metologia de Programação Orientada a Objetos é o Encapsulamento. O Encapsulamento permite que criemos um meio de acesso simples a outros programadores para que eles utilizem nossas classes sem que necessitem conhecer o funcionamento interno da mesma. Um exemplo prático de encapsulamento poderia ser o dvd-player de nossos carros. Não precisamos saber como é feito internamente para que possamos assistir nosso DVD do Ozzy Osbourne por exemplo, ou ainda não precisamos conhecer o sistema telefonico para podermos ligar para nossos amigos, familiares ou namorada.

Falando de modo polido, o encapsulamento combina atributos e métodos criando um unico meio de acesso aos valores desses atributos através de seus métodos que chamamos de métodos públicos.Os demais métodos se tornam privados para os outros programadores. Com  o encapsulamento ganhamos mais segurança pois tornamos o nosso objeto como uma espécie de caixa preta lacrando os métodos que não é interessante os outros programadores mexerem.

 

3.6 Polimorfismo

Este conceito é o mais complicado e também é de sumo importancia entende-lo. Polimorfismo como o próprio nome diz significa muitas formas. Dentro da POO, o conceito de polimorfismo diz que um nome pode ter vários comportamentos dependendo da sua implementação. Quando uma classe possui um método com o mesmo nome e assinatura (número, tipo e ordem de parâmetros) de um método na sua superclasse, ou classe que é herdada é quando ocorre o polimorfismo.

Por exemplo o método Abrir pode funcionar de várias formas diferentes. Abrir pode servir tanto para uma classe porta como uma classe conta bancária, porém o comportamento interno deste método funcionará de formas diferentes pois são dois objetos diferentes.

O Polimorfismo nos permite que mudemos nosso sistema a qualquer momento sem ter que mudar o código original. O Polimorfismo trabalha diretamente com os conceitos de Herança e Encapsulamento onde eles se completam fazendo com que o paradigma de orientação a objetos funcione.

Dentro do Polimorfismo existe alguns tipos que listarei abaixo e descreverei um pouco sobre eles.

 

3.6.1 Inclusão

Um ponteiro para classe mãe pode apontar para uma instância de uma classe filha (exemplo em Java: "List lista = new LinkedList();" (tipo de polimorfismo mais básico que existe).

 

3.6.2  Paramétrico

Se restringe ao uso de templates (C++, por exemplo) e generics (Java).

 

3.6.3 Sobrecarga

Duas funções/métodos com o mesmo nome mas assinaturas diferentes.

 

3.6.4 Coerção

A linguagem que faz as conversões implicitamente (como por exemplo atribuir um int a um float em C++, isto é aceito mesmo sendo tipos diferentes pois a conversão é feita implicitamente).

 

4. Conclusão

O Paradigma de Programação Orientada a Objetos é um tanto complicado de se entender. Porém o ganho em termos de velocidade de desenvolvimento e  aproveitamento de código torna o aprendizado viável. Como vimos então estes conceitos básicos são a base para se desenvolver com esta metodologia. É claro que muito mais será necessário aprender para o desenvolvimento de um software. Creio que por enquanto faremos com estes conhecimentos apenas programinhas. E acho que todo mundo que tenha interesse em aprender sobre esta metodologia quer se tornar um verdadeiro desenvolvedor e não um programadorzinho.

Vale destacar, que todo o sistema programado com orientação a objetos terá esta estrutura de conceitos. Esta estrutura que torna viável o conceito se tornar um sistema.

 

5. Referencias Bibliográficas

  • http://www-usr.inf.ufsm.br/~rose/curso3/cafe/cap4_Polimorfismo.pdf
  • http://www.guiadohardware.net/artigos/programacao-orientada-objetos/
  • Php - Programando com Orientação a Objetos - Pablo Dall'Oglio
  • Java - Deitel & Associates

 

 

 

 

 

Oráculo


Ads on: Special HTML

Conheça

Siga me no Twitter
Follow me on Twitter
Add Nossa Comunidade no Orkut
Add Nossa Comunidade no Orkut

Minha Rede

Publicidade


Ads on: Special HTML

Rádio Online



Ads on: Special HTML