IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Connaître les classes filles


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut Connaître les classes filles
    Salut,
    ca me paraît impossible mais je me demandais s'il y avait un moyen de connaître toutes les classes filles d'une classe mère ?
    Merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 47
    Par défaut
    En effet, il n'y a pas de moyens simples de déterminer les sous classes d'une classe donnée. Néanmoins, il semble que ce soit possible en parcourant toutes les classes ; ce qui n'est vraiment pas optimisé...
    tu peux lire ceci : http://forum.java.sun.com/thread.jsp...sageID=9680662
    et cela :
    http://forum.java.sun.com/thread.jsp...sageID=1816373

  3. #3
    ndp
    ndp est déconnecté
    Membre expérimenté Avatar de ndp
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 227
    Par défaut
    Salut,

    tu as une idee derriere la tete? je suis curieux, quel est le besoin?

  4. #4
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Hello,
    merci bien pour les liens ^^. Effectivement sans avoir tout détaillé ca me paraît très laborieux et peu efficace.

    Le but est d'éviter des tests de collision/intersection dans un moteur physique entre certaines classes.
    Ex pour un shoot'em up : classes :
    Shot <- PlasmaShot
    Shot <- LaserShot
    Shot <- MissileShot
    Shot <- etc.

    Les tests ne doivent pas être évalués entre les différentes instances de ces classes. La soluce que j'utilise pour l'instant est de stocker une liste de classes à ne pas évaluer le souci et que je dois le faire pour chaque classe et ce n'est pas très pratique en plus ca implique une recherche dans les listes à chaque cycle qui peut être relativement coûteuse.
    ex, pour les constructeurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    PlasmaShot() {
    this.addUncollidableClass(LaserShot.class);
    this.addUncollidableClass(MissileShot.class);
    this.addUncollidableClass(etc.);
    }
     
    LaserShot() {
    this.addUncollidableClass(PlasmaShot.class);
    this.addUncollidableClass(MissileShot.class);
    this.addUncollidableClass(etc.);
    }
    et dans le cycle du moteur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(!solid1.isUncollidableClass(solid2)) {
    // Tests d'intersections
    }
    Je fonctionne également avec un test d'exclusivité plutôt qu'un test d'exclusion mais le problème est le même (addCollidableClass()).
    Il y a sans doute un problème de conception mais je n'ai pas trouvé mieux pour l'instant.

    (D'ailleurs je m'aperçois qu'il faut que je stocke cette liste en statique plutôt que dans chaque instance)

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Pourquoi ne pas utiliser un fichier de configuration qui ferait tout ça ?

    Un zouli petit fichier XML genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <shot type="plasma" class="my.package.PlasmaShot">
      <uncollides type="laser" />
      <uncollides type="missile" />
      ...
    </shot>
    <shot type="laser" class="my.package.LaserShot">
      <uncollides type="plasma" />
      <uncollides type="missile" />
      ...
    </shot>
    Après, tu peux même gérer les autres données directement dans ton fichier de configuration (les dégâts, l'ampleur) et délaisser la partie de gestion de ces données à la classe liée.

  6. #6
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Salut,

    Comment gères tu tes collisions ?

    J'avais fait un jeu de shoot et on avait utilisé des instanceof tout simplement, si c'est un shoot ca peut pas entrer en collision avec un autre shoot

    donc j'avais une fonction collide(Element e) et tout dérivait d'élément (acteurs, tirs, bonus), et je faisais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(e instanceof Shoot); // ne rien faire
    else
    {
       // traiter la collision selon les autres instanceof
    }
    F.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/05/2011, 13h15
  2. Lister toutes les classes filles
    Par Loceka dans le forum Général Java
    Réponses: 3
    Dernier message: 01/04/2010, 11h46
  3. [PHP 5.2] [POO] Propriétés statiques non partagées par les classes filles
    Par gege2061 dans le forum Langage
    Réponses: 5
    Dernier message: 08/09/2009, 15h25
  4. Connaître les classes
    Par gmailex dans le forum Framework .NET
    Réponses: 2
    Dernier message: 22/10/2007, 07h57
  5. Connaître les classes définies dans un fichier
    Par Tournevyks dans le forum Langage
    Réponses: 2
    Dernier message: 16/10/2006, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo