La façon la plus simple est de les retourner comme un objet.
public Object showForm() {
if (true)
return new ClassA();
else
return new ClassB();
}
Ce n'est pas si utile cependant, une solution bien plus utile serait de les étendre, soit une classe commune ou mettre en œuvre une interface commune.
public CommonInterface showForm() {
if (true)
return new ClassA();
else
return new ClassB();
}
class ClassA implements CommonInterface { }
class ClassB implements CommonInterface { }
interface CommonInterface { }
Ou
public CommonClass showForm() {
if (true)
return new ClassA();
else
return new ClassB();
}
class ClassA extends CommonClass { }
class ClassB extends CommonClass { }
class CommonClass { }
Generics
Si vous voulez utiliser les médicaments génériques alors ClassA
et ClassB
devrait être la même classe, modifié par certains, par exemple de type générique. Class<T>
. Que les génériques soient pertinents, tout dépend de la mise en œuvre de vos cours. Vous êtes probablement préférable d'utiliser une interface ou une classe de base.
Ajoutez la même interface aux classes, renvoyez l'interface –
L'une des méthodes consiste simplement à renvoyer un objet. Mais je voulais savoir s'il y a quelque chose de plus générique et approprié à utiliser public Object showForm() { if (true) return new ClassA(); sinon return new ClassB(); } –