| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/06/2010 17:20:17
|
humberto-adm
Debugger
![[Avatar]](/images/avatar/3b0a5afb09a6f59c7703237a11687fc0.jpg)
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 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/06/2010 18:33:53
|
Tiburcio_Mancha
JavaEvangelist
![[Avatar]](/images/avatar/273ea7552f2fedc728d1462e7791434b.jpg)
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/06/2010 19:56:39
|
leorbarbosa
Java Ninja
![[Avatar]](/images/avatar/b9d3a487f557289666d15447e7c81501.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/06/2010 20:01:07
|
thiago.filadelfo
Virtual Machine Man
![[Avatar]](/images/avatar/a0dabc6f2a8ea64b7fb210eec0175a02.jpg)
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
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/06/2010 21:04:42
|
Mustang89
Debugger
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/06/2010 21:34:27
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
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.' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/06/2010 22:08:04
|
neeryck
Java Ninja
![[Avatar]](/images/avatar/84c5ce2b2981e8392cc9e5d300c23303.jpg)
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). |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/06/2010 10:38:24
|
leorbarbosa
Java Ninja
![[Avatar]](/images/avatar/b9d3a487f557289666d15447e7c81501.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/06/2010 10:43:07
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
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.' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/06/2010 16:51:22
|
humberto-adm
Debugger
![[Avatar]](/images/avatar/3b0a5afb09a6f59c7703237a11687fc0.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/06/2010 17:32:46
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
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.' |
|
|
 |
|
|