Por exemplo, posso atribuir um número a um objeto do tipo int ou texto a um objeto do tipo String:
int i = 5;
String s = "Onon Nono";
Faço isso sem precisar fazer:
int i = new int(5);
//ou
i.set(5);
// e
String s = new String("Onon Nono");
// ou
s.set("Nono On");
Não há uma maneira de atribuir valores diretamente a um objeto como se faz com Strings ou inteiros do seguinte modo?
myObject obj = 5;
// ou
myObject obj = "Ono On";
Pergunto isso porque gostaria fazer um método que receba como parâmetros objetos de vários tipos sem precisar recorrer a sobrecarga que cria, muitas vezes, classes intermináveis e que esse método não receba objetos do tipo Object porque quero limitar os tipos de dados que esse método pode receber.
[code]myObject obj1 = 5;
myObject obj2 = “Ono On”; [/code]
E o que estas coisas devem fazer? qual o resultado esperado?
O que eu gostaria de fazer seria poder atribuir a uma variável de uma classe que eu tenha criado valores ou objetos de grupo específico.
Por exemplo, apenas objetos inteiros, doubles e strings poderiam ser atribuidas ao Objeto meuObjeto ou apenas Objetos Cliente, Fornecedor e inteiro, mas não objetos Funcionario ou double, poderiam ser atribuidos ao objeto Contatos.
Seria algo similar a usar um objeto do tipo Object mas com restrições sobre os tipos que poderiam ser atribuidos a este. O objetivo seria que na hora de se programar um método se impedisse de passar um tipo de objeto indesejado como parâmetro em uma função que poderia receber diferentes tipos de objetos, alternadamente, como parâmetros sem ter que recorrer a usar muitos métodos de sobrecarga.
Humm…
É possivel vc definir tipos genericos com base em alguns padrões
http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf
Agora qual o sentido de vc poder atribuir Cliente, Fornecedor ou inteiro? O que inteiro tem haver com essa parada toda? De um exemplo mais concreto: talvez a sua modelagem esteja abusando de herança quando poderia usar composição, ou talvez vc pudesse pensar em algo como Design By Contract.
Por exemplo, estou fazendo uma classe que monta condições para comandos SQL.
Esses objetos Condicao podem receber outros objetos Condicao ou podem receber objetos Coluna, ConteudoDeCampo, String, int, etc dependendo da operação que eu for chamar.
O que quero garantir é que quando for chamar o método para criar uma condição do tipo [quote]x = y[/quote], por exemplo, possa passar como parâmetros um ConteudoDeCampo e uma Coluna ou uma Coluna e um ConteudoDeCampo mas não um ConteudoDeCampo e outro ConteudoDeCampo.
Obrigado pelas informações. Vou pesquisar sobre Generics. O exemplo que tinha citado foi o primeiro que veio a cabeça. A classe de condições que estou desenvolvendo funciona de maneira diferente do que ou outras classes costumam funcionar, por isso fica meio chato explicar.