| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 07:19:22
|
andredecotia
JWizard
![[Avatar]](/images/avatar/3e0c75ef9041e74cc2a533fa0fbbf33a.jpg)
Membro desde: 19/10/2009 14:37:32
Mensagens: 2267
Localização: São Paulo
Offline
|
Interface é filha de Object tb?
|
--
André AS
Analista Programador Java Web freelancer / home office
Linkedin: http://www.linkedin.com/profile/view?id=41470291&trk=tab_pro
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 09:13:43
|
jakefrog
GUJ Expert
![[Avatar]](/images/avatar/6e2400ec18b6f1952f1053c65df7a8b6.png)
Membro desde: 22/01/2007 22:00:53
Mensagens: 4181
Offline
|
Pq vc não faz um teste?
Cria uma interface:Depois cria uma classe que contenha um públic void main e a interface:
Veja que ela não está instanciada em ainda.
Interface é um "contrato" que um uma classe (Object) deve seguir.
|
Meu blog sobre java uaiHebert.com
Conceitos OO - Diga, não pergunte!, Lei de Demeter
TDD Primeiros Passos, JUnit com HSQLDB, JPA e Hibernate, Cobertura de testes com JUnit Ant e Emma, Cobrindo seus testes com Cobertura, JUnit, HSQLDB, JPA
Código Limpo: Partes: 01,02,03,04,05
Web/JSF - Criando um WebServer, Tratando Exceções, Autenticação de Usuários (Filter/Servlet), JSF - Hello World, AutoComplete, JSF: Converter e Bean Auto Complete, Validação de Login de Usuário com JSF e JAAS, JSF Exibindo Objeto e Mensagens após Redirect, JSF Exemplos Simples com Ajax, JSF Parametros por Get Request RESTFullAplicação Web Completa JSF EJB JPA JAAS, Lazy JSF Datatable Pagination (Primefaces)
Design Pattern - Strategy, Design Pattern - Observer (Parte 01), Design Pattern - Observer (Parte 02)
Business (JPA)- Hibernate 3 com JPA 2, Create schema script: Ant, Hibernate 3 e JPA 2, TableGenerator Chave Primária Simples, SequenceGenerator,Chave Primária Composta, Mapeando Datas (Date) e Enum, Mapeando Duas Tabelas em uma Classe, @OneToOne Unidirecional e Bidirecional, @OneToMany e @ManyToOne Unidirecional e Bidirecional, @ManyToMany Unidirecional e Bidirecional, Ordernando listas e utilizando Map como atributo mapeado,Uma tabela por herança, JPA Uma Classe por Sub-Classe, JPA Consultas e Dicas, [HOT]Quatro soluções para LazyInitializationException[HOT]
SCJP(1.6 - Ingles - 29/12/2009)
SCWCD(1.5 - Ingles - 30/06/2010)
Vamos em frente que atrás vem gente! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 09:43:23
|
gervas-IO
JavaChild
Membro desde: 09/01/2007 17:12:43
Mensagens: 115
Localização: São Paulo
Offline
|
No contexto acima: É a mesma coisa que: É isso que o instanceof está verificando... Lembre-se disso meu jovem: "Interfaces só herdam de Interfaces" Abs.
This message was edited 1 time. Last update was at 31/08/2010 09:50:55
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 10:02:52
|
Marck
Virtual Machine Man
![[Avatar]](/images/avatar/efc9ea3e0c2ed2c2481fe1252019266e.jpg)
Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline
|
Olá!
Eu entendo que o objeto possui uma interface. Quando esta interface é implementada, ai sim ela É-UM objeto.
Perceba que não faz muito sentido usar os termos "filha" ou "filho". Um Carro É-UM Automovel faz mais sentido do que dizer que Um Carro é Filho de Automovel. O termo "filho" é mais usado em banco de dados onde temos tabelas filhas.
Para ilustrar o que penso, fiz o seguinte teste:
abraço
|
"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre
Besteiras sobre programação
http://toobject.wordpress.com/
DataModelDinamic |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 12:07:48
|
Leonardo3001
GUJ Ranger
Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline
|
Marck wrote:Olá!
Eu entendo que o objeto possui uma interface. Quando esta interface é implementada, ai sim ela É-UM objeto.
Perceba que não faz muito sentido usar os termos "filha" ou "filho". Um Carro É-UM Automovel faz mais sentido do que dizer que Um Carro é Filho de Automovel. O termo "filho" é mais usado em banco de dados onde temos tabelas filhas.
Para ilustrar o que penso, fiz o seguinte teste:
abraço
O teste não faz sentido. Você está testando se uma classe anônima, que implementa Inteface, é instância de Object. Claro que sim. Porém, isso não responde a pergunta do tópico: a de que Interface é filha de Object.
This message was edited 1 time. Last update was at 31/08/2010 12:08:23
|
Leonardo Veríssimo
-------------------------------------------------
Objectzilla |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 13:09:30
|
Marck
Virtual Machine Man
![[Avatar]](/images/avatar/efc9ea3e0c2ed2c2481fe1252019266e.jpg)
Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline
|
Leonardo3001 wrote:
Marck wrote:
O teste não faz sentido. Você está testando se uma classe anônima, que implementa Inteface, é instância de Object. Claro que sim. Porém, isso não responde a pergunta do tópico: a de que Interface é filha de Object.
Como eu disse, eu entendo que o Objeto possui uma interface, ou seja, a Interface não é um objeto até ela ser implementada! Até por que, para ser objeto, tem que herdar de Object, e Interfaces só podem herdar de outra Interface.
Ou estou errado?
|
"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre
Besteiras sobre programação
http://toobject.wordpress.com/
DataModelDinamic |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 13:30:29
|
Leonardo3001
GUJ Ranger
Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline
|
Marck wrote:Como eu disse, eu entendo que o Objeto possui uma interface, ou seja, a Interface não é um objeto até ela ser implementada! Até por que, para ser objeto, tem que herdar de Object, e Interfaces só podem herdar de outra Interface.
Ou estou errado?
Você confunde implementação com instância. Interface é implementada, mas nunca instanciada; então, uma interface não pode se tornar um objeto, no máximo, posso usá-la como uma referência para um objeto.
Interfaces podem herdar de outra interface, ou pode não herdar de ninguém. Só não podem herdar de classes.
|
Leonardo Veríssimo
-------------------------------------------------
Objectzilla |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 13:40:54
|
marcelo.bellissimo
Virtual Machine Man
Membro desde: 17/10/2006 14:17:21
Mensagens: 617
Offline
|
Esse tipo de conceito confunde mesmo... pra tentar exemplificar, imagine um carro, uma moto, um caminhão... todos eles são (implementam) o quê? Veículos... eles "implementam" a interface Veiculo...
E um veículo nunca é um "objeto" própriamente dito, é algo abstrato, são "regras" que definem qual o "tipo" que o objeto é... você consegue ir numa concessionária e pedir: "quero comprar um veículo, por favor" ?
Você tem que "instanciar" a sua escolha... um veículo? Ok, mas é uma moto, um caminhão, um carro... o quê você quer?
Ou seja, uma interface nunca será um Object, não há instancias de interfaces, apenas dos objetos que as implementam...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 14:05:50
|
Paulo Silveira
Administrador
![[Avatar]](/images/avatar/a87ff679a2f3e71d9181a67b7542122c.jpg)
Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline
|
pensando na semantica, toda classe, interface e classe abstrata pode ser sim atribuida a Object, tanto que voce pode fazer Object o = qualquerReferencia;
a discussao que o pessoal esta fazendo é como essa frase deve ser formulada. dizer que é "filha" talvez seja um pouco demais.
mas seu raciocinio esta certo.
|
http://blog.caelum.com.br twitter: @paulo_caelum
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 14:14:51
|
zoren
GUJ Master
![[Avatar]](/images/avatar/9efbafef9f85fd9caa789941a4cdf821.jpg)
Membro desde: 30/06/2008 08:32:33
Mensagens: 1007
Offline
|
Você pode fazer um teste com o java
Crie uma classe e uma interface, coloque as duas numa pasta, pela linha de comando, vc compila elas e usa o comando javap em cada uma
Obs: sem o .class
Com isso a resposta aparece
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 14:20:39
|
wellington.nogueira
GUJ Ranger
![[Avatar]](/images/avatar/00c1de56b1cbab48f9869c1460d70e76.png)
Membro desde: 11/08/2006 11:29:56
Mensagens: 914
Localização: Osasco-SP
Offline
|
Interfaces e classes são "contratos" porém apenas classes herdam a classe Object.
Marck wrote:Eu entendo que o objeto possui uma interface. Quando esta interface é implementada, ai sim ela É-UM objeto.
Perceba que não faz muito sentido usar os termos "filha" ou "filho". Um Carro É-UM Automovel faz mais sentido do que dizer que Um Carro é Filho de Automovel. O termo "filho" é mais usado em banco de dados onde temos tabelas filhas.
Quando uma interface é implementada, você TÊM uma classe que segue o contrato da interface e, ao instanciá-la, aí sim, terá um objeto.
Não é só por ter implementado a interface que vc possui um objeto. Se o mesmo não for instanciado (através do operador new), o mesmo continuará sendo apenas uma classe.
Exemplo:
Carro É-UM Object, Veiculo e AutoMotor
Carroca É-UM Object e Veiculo
Entretanto,
Carro É-UM Object, Veiculo e AutoMotor E POSSUI um Motor.
Neste último exemplo, os objetos Carro e Motor só existirão quando
|
57 45 4C 4C 49 4E 47 54 4F 4E
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
"Se você acha que programar em Java com Swing é simples? Acredite em mim, não é!"
http://developmentforever.wordpress.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 14:29:11
|
Marck
Virtual Machine Man
![[Avatar]](/images/avatar/efc9ea3e0c2ed2c2481fe1252019266e.jpg)
Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline
|
Leonardo3001 wrote:
Marck wrote:Como eu disse, eu entendo que o Objeto possui uma interface, ou seja, a Interface não é um objeto até ela ser implementada! Até por que, para ser objeto, tem que herdar de Object, e Interfaces só podem herdar de outra Interface.
Ou estou errado?
Você confunde implementação com instância. Interface é implementada, mas nunca instanciada; então, uma interface não pode se tornar um objeto, no máximo, posso usá-la como uma referência para um objeto.
Interfaces podem herdar de outra interface, ou pode não herdar de ninguém. Só não podem herdar de classes.
Não cara. Não confundo. Acho que você não entendeu o que eu disse. Mas acho que a dúvida já foi respondida!
|
"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre
Besteiras sobre programação
http://toobject.wordpress.com/
DataModelDinamic |
|
|
 |
|
|