Dúvida com Interface  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
humberto-adm
Debugger
[Avatar]

Membro desde: 13/05/2009 11:24:52
Mensagens: 56
Offline

Pessoal estou fazendo um curso de Java Web e em um determinado momento aconteceu o seguinte:

1 - Foi criada uma interface e alguns métodos nela;
2 - Depois foi criada uma classe que implementava esta inteface;
3 - Mais adiante foi criada uma outra classe com referência para a interface criada no passo 1;
4 - No código da classe do passo 3 tinha uma linha assim:
interface = new Classe();

Minha dúvida é a seguinte, um objeto interface pode receber um instância de uma classe que implementou esta mesma interface? Por que? Como funciona isto?

O mundo se torna mais inteligente no compartilhamento da informação.
Humberto, humberto-adm@hotmail.com
[MSN]
Tiburcio_Mancha
JavaEvangelist
[Avatar]

Membro desde: 28/07/2008 10:34:13
Mensagens: 367
Offline

Então, se aprofunde nos conhecimentos de orientação a objetos. Entenda os conceitos de herança e polimorfismo que vc terá todas as respostas para suas dúvidas.
leorbarbosa
Java Ninja
[Avatar]

Membro desde: 17/10/2009 22:26:56
Mensagens: 284
Localização: Minas Gerais
Offline

Interfaces extendem interfaces.
Classes implementam interfaces e extendem classes (uma de cada vez.)

O que você escreveu não tem sentido:

"...Não existe um GRANDE problema que não possa ser solucionado POR pequenas SOLUÇÕES..."
Autor: desconhecido
thiago.filadelfo
Virtual Machine Man
[Avatar]

Membro desde: 07/07/2007 00:32:26
Mensagens: 579
Localização: São Paulo
Offline

Olá

Concordo com o leorbarbosa
Classes implementam interfaces,

Mas uma classe só extends um classe somente.

Na orientação a objetos é possivel extender várias, mas o Java tem uma restrição com esse extends. ok...

A implementação pode ser quantas quiser e for necessário.

Flwsss
ate mais

[Email] [MSN]
Mustang89
Debugger
[Avatar]
Membro desde: 03/06/2009 13:31:54
Mensagens: 60
Offline

eu acho que o amigo ali quiz dizer algo como isso:



List é uma interface
e
ArrayList uma classe que implementa a inteface List

Isso é totalmente possivél como e funciona exatamente igual o Polimorfismo de classes.

Você diminui a visibilidade dos metodos do ArrayList apenas para os quais estão também citados na Interface List
[Email] [Yahoo!] [MSN]
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline



As variaveis a e b se comportam como MinhaInterface, mesmo sendo classes diferentes. MinhaClasse é uma MinhaInterface.

E digo mais



Tambem funciona pois toda a classe extende Object.

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
neeryck
Java Ninja
[Avatar]

Membro desde: 10/07/2009 11:34:12
Mensagens: 274
Offline

http://www.guj.com.br/posts/list/147973.java

Procure nos link's do usuário ViniGodoy, tem vários que remetem esse assunto e concerteza será útil!
Espero ter ajudado!

[]'s

"É impossível para um homem aprender aquilo que ele acha que já sabe"(Epítero).
leorbarbosa
Java Ninja
[Avatar]

Membro desde: 17/10/2009 22:26:56
Mensagens: 284
Localização: Minas Gerais
Offline

peczenyj wrote:

As variaveis a e b se comportam como MinhaInterface, mesmo sendo classes diferentes. MinhaClasse é uma MinhaInterface.

E digo mais



Tambem funciona pois toda a classe extende Object.


Sim,

mas p/ não confundir o colega, cabe uma observação:
exam objectives 1.6, 5.3 and 5.4 - "interfaces are not part of an object's inheritnace tree"

"...Não existe um GRANDE problema que não possa ser solucionado POR pequenas SOLUÇÕES..."
Autor: desconhecido
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

Bem lembrado.

Bom, todas as duvidas aqui podem ser resumidas a

Se isso é possivel



então podemos simplificar


http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
humberto-adm
Debugger
[Avatar]

Membro desde: 13/05/2009 11:24:52
Mensagens: 56
Offline

É exatamente isto que aconteceu no curso e com o seu comentário agora eu compreendi.
Então quer dizer que a interface List vai me oferecer os métodos que são incomuns para List e ArrayList?
Foi isso que entendi quando se instância um objeto interface com um construtor de uma classe que implementa a interface em questão.

Mustang89 wrote:eu acho que o amigo ali quiz dizer algo como isso:



List é uma interface
e
ArrayList uma classe que implementa a inteface List

Isso é totalmente possivél como e funciona exatamente igual o Polimorfismo de classes.

Você diminui a visibilidade dos metodos do ArrayList apenas para os quais estão também citados na Interface List

O mundo se torna mais inteligente no compartilhamento da informação.
Humberto, humberto-adm@hotmail.com
[MSN]
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

Esse é o barato das Interfaces, te ajudam a ter um comportamento polimorfico sem side-effects tipo "diamante da morte" que a herança multipla traz.

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team