Je travaille donc sur la création de mon propre moteur physique pour une application que je crée. En ce moment j'ai une classe StaticObject
pour les objets simples qui ne simulent pas chaque tick de jeu, et une classe DynamicObject
pour les objets qui se rapportent à la gravité et aux collisions et autres. Ensuite, je crée une classe de contraintes pour créer des liens entre ces différents objets, comme faire que ce dynamicObject
reste à la même position que ce staticObject
.Accès aux méthodes à partir d'une classe de type variable
D'accord, je tente d'accéder à certaines méthodes et valeurs dans les classes d'objets (ou StaticObject
DynamicObject
) de la classe Constraint
, mais le type/classe spécifique que j'accède est variable. Il peut s'agir du type StaticObject
ou DynamicObject
.
Ceci est la classe qui a besoin d'accéder aux classes Object
, ou 'classe de type variable' (je ne connais pas les termes appropriés ici, je voudrais savoir cependant, un peu nouveau à cet aspect de java):
public class Constraint<objectType1, objectType2> {
private Class<objectType1> object1;
private Class<objectType2> object2;
public Constraint(Class<objectType1> object1, Class<objectType2> object2) {
this.object1 = object1;
this.object2 = object2;
}
public void update() {
object2.position = object1.position;
}
}
Je sais avec certitude que quel type les objets sont (ou StaticObject
DynamicObject), they will each have the attribute
object.position`
Alors, ma question se résume à:. Comment puis-je déterminer que les classes variables sont de la bonne types (StaticObject
ou DynamicObject
) puis comment puis-je accéder à des méthodes et des variables dans les classes quel que soit le type? Suis-je dans la bonne direction? Si non, quelles sont les meilleures façons d'apprendre?
Exemples s'il vous plaît, c'est nouveau pour moi. :)
Donc, les génériques sont les trucs de type variable? – SuperContraptionGuy
Oui, à certains égards. En savoir plus sur la façon dont les génériques sont utilisés dans les collections Java. –