Pesquisar
Newsletter
| Introdução a Programação Orientada a Objetos |
|
|
|
| Escrito por icefusion | |
| Sex, 18 de Junho de 2010 11:36 | |
1. IntroduçãoComo 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 POOA 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ásicos3.1. ClasseA 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. AtributosAtributos 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étodosOs 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çaDentro 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 EncapsulamentoUma 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 PolimorfismoEste 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ãoUm 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étricoSe restringe ao uso de templates (C++, por exemplo) e generics (Java).
3.6.3 SobrecargaDuas funções/métodos com o mesmo nome mas assinaturas diferentes.
3.6.4 CoerçãoA 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ãoO 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
|












