Encapsulamento eh utilizado geralmente com a
utilizacao de metodos set e get . O que se faz eh
deixar todos os dados privados e fornecer apenas
metodos do tipo set e get para manipula-los . 
 Isso eh feito por varios motivos . Um motivo simples
eh evitar complicacoes como dados recebendo valores
indevidos . Por exemplo , se um dado eh um inteiro que
soh deve receber valores entre um determinado
intervalo eh possivel que sendo acessado de fora se
coloque o valor que se quiser dentro dele , porem se
ele for privado e se tiver que obrigatoriamente
utilizar um metodo tipo setIntValue() este metodo
podera tomas as devidas precaucoes para que o inteiro
nunca receba um valor indevido . Outro caso semelhante
eh ter um vetor (Vector) destinado a Strings . Se este
for publico qualquer acesso externo pode colocar
qualquer tipo de objetos dentro dele o que pode gerar
problema quando algum outro metodo interno da classe
tentar acessa-lo a procura de Strings que nao estao
lah .
 Mas o principal motivo para o encapsulamento estah
relacionado a projetos . Digamos que eu faco uma
classe que realiza uma serie de funcoes atraves de
metodos que disponibilizei . Se eu for substituido por
voce no projeto tu podes melhorar os algoritmos de
resolucao das funcoes simplemente mudando a classe
internamente , porem mantendo os mesmos metodos
internos de acesso .
 Uma vantagem relacionada a este ultimo caso , eh algo
que nao vejo muita importancia , a tal de propriedade
intelectual . As pessoas passariam por projetos sem
mostrar como fizeram as coisas mas permitindo que
outras seguissem o seu trabalho bastando seguir os
padroes de metodos de manipulacao da pessoa anterior .
Mas isso jah nao faz mais muito sentido com a
existencia de decompiladores java como o jad e o
decafe por exemplo .
 Jah quanto a abstracao , trata-se de se livrar da
complexidade de COMO as coisas estao sendo feitas . Se
voce programa em assembly a abstracao eh minima se nao
inexistente , uma vez que voce estah programando com
mnemonicos das proprias instrucoes (os conjuntos de
zeros e uns) que irao para o processador . Jah quando
se programa com uma linguagem de alto nivel como java
em que cada linha e/ou comando representam uma serie
de intrucoes de maquina voce estah abstraindo a
complexidade de como as coisas estao sendo feitas .
Ainda mais quando a linguagem roda sobre um MAQUINA
VIRTUAL , onde nao ha compromisso com o hardware . As
Virtual Machines Java eh que se preocupam se estao
sobre uma arquitetura onde inteiro tem 16 ou 32 bits ,
ou se a paginacao de memoria de um jeito ou de outro .
Voce simplemente programa uma aplicacao que executarah
da mesma forma em qualquer platafroma para a qual
tenha sido desenvolvida a Java Virtual Machine (JVM) .
;-)

 --- Ary Junior <[EMAIL PROTECTED]> escreveu: >
Por favor,
> 
>     Algu�m a� poderia me dar o conceito de
> Encapsulamento e Abstra��o?
> 
> Valeu!!!!!
>  

_______________________________________________________________________________________________
Yahoo! GeoCities
Tenha seu lugar na Web. Construa hoje mesmo sua home page no Yahoo! GeoCities. � f�cil 
e gr�tis!
http://br.geocities.yahoo.com/

------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP 
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a