Dúvida Geral

13 respostas
S

Viva!

Tou aqui com umas dúvidas. Será que me podiam esclarecer?

1 - Quais sao as formas de acrescentar novos comportamentos a uma classe já definida sem alterar o código?

2 - E numa aplicação de ordenação prentendo ordenar pelo tamanho, numa base de dados, todos os objetos residentes em memória. O que preciso fazer??

3 - Qual a diferença entre uma classe abstrata e um interface?

4- Como é possivel poder aceder a campos e/ou métodos sem instanciar objetos? um exemplo…

Obrigado

13 Respostas

danieldestro

Sim, claro!

Com herança.

Tamanho do que? Do Objeto? Campo tamanho?

A interface apenas declara os métodos. Uma classe abstrata pode implementar alguns métodos.

Usando membros estáticos

De nada… próximo…

S

Para além da herança mais uma forma de fazer isso?

Quero ordenar pelo tamanho os objetos (de diferentes hierarquias) residentes em memória

De nada… próximo…

danieldestro

Sem herança? Sei lá… via AOP?

S

Polimorfismo não??

danieldestro

Polimorfismo não tem nada a ver com isso.

Gerson

Sobre a questao “Quais sao as formas de acrescentar novos comportamentos a uma classe já definida sem alterar o código”, eu diria que não há nenhuma forma de fazer isso!

Mas se herança vale, então delegação, através de composição, tb vale!

S

Gerson:
Sobre a questao “Quais sao as formas de acrescentar novos comportamentos a uma classe já definida sem alterar o código”, eu diria que não há nenhuma forma de fazer isso!

Mas se herança vale, então delegação, através de composição, tb vale!

Não percebi essa… Pode ser um pouco mais explicito Gerson?

Mauricio_Linhares

Com certeza :mrgreen:

Dá até pra fazer herança múltipla :smiley:

S

Com certeza :mrgreen:

Dá até pra fazer herança múltipla :smiley:

Atraves de interfaces né?

Mauricio_Linhares

Com certeza :mrgreen:

Dá até pra fazer herança múltipla :smiley:

Atraves de interfaces né?

Mais ou menos, não é só herança múltipla de “interface” (nomes de métodos) mas também de implementação.

danieldestro

Não, através de AOP mesmo. Lembra-se que você não quer “alterar” o código da classe.

S

Eu sou novo nisto, mas o único modo que conheço para fazer herança múltipla no Java é atraves de Interface…

Mauricio_Linhares

Depois que você estiver entendendo bem Java e orientação a objetos, dê uma olhada nas implementações de orientação a aspectos que tem por aí que você vai entender isso bem direitinho, especialmente o AspectJ e o Spring AOP.

Criado 19 de julho de 2005
Ultima resposta 20 de jul. de 2005
Respostas 13
Participantes 4