Novata com dúvidas básicas... Help!

3 respostas
mila85

Olá, pessoal! Estou começando a estudar Java agora e estou com dificuldade para entender alguns conceitos básicos. Gostaria apenas que me ajudassem na definição de dois assuntos (por enquanto) que sei que são importantíssimos: Polimorfismo e Encapsulamento. Não precisa falar mto não. Só mesmo um conceito sucinto será suficiente.

Pra provar que não precisa falar mto, vou dá um exemplo. Perguntei pra um amigo o conceito de Sobrecarga de Métodos (method overload) e ele disse: “É quando vc usa a mesma assinatura de um método, mas modifica o tipo do parâmetro que este irá receber.”

Obrigada a todos, aguardo as respostas :wink:

3 Respostas

eric_jf

Olá mila85,
Quando vc está usando sobrecarga de metodos e sobrecarga de construtores, vc está utilizando polimorfismo, ou seja, vc tem uma apareceia igual mas de forma diferente, para mais detalhes:

Encapsulamento segundo o wikipédia:

Em programação orientada a objetos, encapsulamento é o mecanismo que permite separar um mecanismo de funcionamento de sua interface. Um exemplo disso é que para utilizarmos um liquidificador, não precisamos saber detalhes do funcionamento de seu motor. A única interface que conhecemos são seus botões. Um exemplo clássico de encapsulamento é o padrão Mediator.

mais detalhes:

mila85

Muito Obrigada, eric_jf!!! As vezes eu fico com receio de olhar na winkpédia e ter alguma coisa errada lá… Mas estes dois artigos estão mto show! Vlw!

Halisoft
[ Encapsulamento ]:
Definir a visibilidade de seus atributos ou métodos através de modificadores - public, protected, private.
Em O.O é melhor favorecer o bom encapsulamento, ou seja, definir seus atributos como privados
pois:
       - por questões de integridade ( por exemplo colocar em atributo peso o valor -10)
       - por questões de acoplamento ( quanto um objeto conhece de implementação sobre outro objeto) - o ideal é ter sempre baixo acoplamento !

fazendo uma Analogia: imagine seu Aparelho de DVD - quando você quer mudar de capítulo você não abre o aparelho, pega o canhão de laser e procura o capítulo - você simplesmente aperta um botão, ou seja, não precisa saber como o DVD mudar de capítulo :)
[b][ Polimorfismo ]:[/b]

do grego, poli="muitas" morfos="formas" logo: muitas formas

exemplo:

todo animal se locomove, mas um peixe nada, um pato vôa etc ! todos têm um comportamento em comum, mas cada um o faz de maneira própria.


public class Animal {

   public void locomover(){
         System.out.println("Locomoção de animal genérico");
   }
}

public class Peixe extends Animal{

         public void locomover(){ //sobrescreveu
               System.out.println("Nadando");
        }

public static void main(String [] Args){
   
         Animal a = new Peixe(): //upcasting
         a.locomover();
}
}

[b]Esse código irá imprimir: Nadando ! [/b]
Criado 20 de setembro de 2006
Ultima resposta 20 de set. de 2006
Respostas 3
Participantes 3