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

Algorithmes et structures de données Discussion :

L'utilisation des compteurs


Sujet :

Algorithmes et structures de données

  1. #1
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut L'utilisation des compteurs
    Bonjour à tous,
    Beaucoup d'applications nécessitent des compteurs.
    Comment les utilisez-vous? Pour ma part ils sont tout le temps statique (c'est là peut-être mon problème), car ils s'appliquent à n'importe quel objet.
    De plus vaut-il mieux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    incrementerObjetA(){
        compteurObjetA ++; 
        ...
    }
    incrementerObjetB() {
        compteurObjetB ++; 
        ...
    }
    ou alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    incrementerObjet(Objet objet) {
        switch (objet) {
            case objetA :
                compteurObjetA ++;
                ...
            case objetB :
                compteurObjetB ++;
                ...
        }
    }
    Ces bouts de code sont juste à titre d'exemple.
    En espérant avoir vos avis et vos méthodes...

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Le premier exemple est préférable puisqu'il facilite la conception objet. Dans le deuxième cas, ça nécessite à la classe mère de connaître ses fils, ce qui n'est pas hyper logique.

  3. #3
    Membre chevronné

    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    Citation Envoyé par dahtah Voir le message
    Bonjour à tous,
    Beaucoup d'applications nécessitent des compteurs.
    Comment les utilisez-vous? Pour ma part ils sont tout le temps statique (c'est là peut-être mon problème), car ils s'appliquent à n'importe quel objet.
    De plus vaut-il mieux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    incrementerObjetA(){
        compteurObjetA ++; 
        ...
    }
    incrementerObjetB() {
        compteurObjetB ++; 
        ...
    }
    ou alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    incrementerObjet(Objet objet) {
        switch (objet) {
            case objetA :
                compteurObjetA ++;
                ...
            case objetB :
                compteurObjetB ++;
                ...
        }
    }
    Ces bouts de code sont juste à titre d'exemple.
    En espérant avoir vos avis et vos méthodes...
    perso, j'ecrirais plutot une qqch genre (pseudo-code conceptuel).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    interface ICompteur {
        vritual void increment();
    };
     
    class A extends ICompteur { 
       static int counter = 0;
       override increment() {counter ++}...
    };
    class B extends ICompteur {
       static int counter = 0;
       override increment() {counter ++}...
    };
     
    ....
     
    A a = new A
    B b = new B
     
    a.increment();
    b.increment();
    Ce n'est peut-etre pas la solution la meilleur ceci dit...

    Salutations,

    Greg

  4. #4
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Ce que tu proposes n'es qu'une implémentation dans un langage bien particulier de ce que dahtah proposait en première solution (la surcharge en plus)

  5. #5
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Tout d'abord merci de vos réponse...
    Je trouve l'utilisation d'une interface interressante, pour la réutilisation du code...
    Est-il possible d'utiliser des compteurs non-statiques (apparement les méthodes static ralentissent franchement le code à l'éxecution)? Je ne vois pas trop comment faire...

  6. #6
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    (apparement les méthodes static ralentissent franchement le code à l'éxecution)?
    Tu as un argument objectif pour étayer cette thèse ?

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut (attention: message sans interet algorithmique)
    Citation Envoyé par PRomu@ld Voir le message
    Tu as un argument objectif pour étayer cette thèse ?
    Moi aussi je suis tres dubitatif sur cette affirmation...
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  8. #8
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par dahtah Voir le message
    Est-il possible d'utiliser des compteurs non-statiques (apparement les méthodes static ralentissent franchement le code à l'éxecution)? Je ne vois pas trop comment faire...
    C'est exactement le contraire dans tous les langages objets que je connais (le dispatch statique est forcément plus rapide que le dispatch dynamique au runtime...).

    --
    Jedaï

  9. #9
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    D'accord. J'avais entendu ça au travail.
    Apparement c'était faux...
    Pourriez vous développer un peu?
    Merci.

  10. #10
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par dahtah Voir le message
    D'accord. J'avais entendu ça au travail.
    Apparement c'était faux...
    Pourriez vous développer un peu?
    Merci.
    Généralement, si tu fais appelle à une méthode statique, tu précises le nom de la classe. Auquel cas, le compilo sait *à la compilation* quelle classe c'est, et donc exactement qu'elle méthode c'est. Il peut faire un bête appel de fonction.

    Dans le cas d'une méthode d'instance, dans un langage comme java, il y a résolution au runtime. En effet, si tu as un tableau d'objet de la classe Bestiole, et que tu appelles la méthodes manger(herbe), le comportement ne sera pas le même si en fait ton objet est de la classe Lion (héritant de la classe bestiole) ou de la classe Mouton. Il y a donc une analyse à faire au run-time. Donc c'est plus lent. Hop.

  11. #11
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Parfait, Merci.

  12. #12
    Membre émérite Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Par défaut
    l'utilisation de compteur estvraiment trop vaste à mon avis pour avoir sa propre classe.... de plus comme cela peut s'applique à des objets aussi diverses que variés c'est très difficile de faire des compteurs dynamiques génériques

    je suis également parfaitement d'accord sur les vitesses d'exécution Java est très pratique pour les programmeur mais très très très lent à l'exécution à cause des résolution de noms dynamique

Discussions similaires

  1. Utilisation des compteur
    Par titouf71 dans le forum C++
    Réponses: 3
    Dernier message: 07/09/2006, 12h52
  2. Compteur sur l'utilisation des index
    Par hkhan dans le forum Administration
    Réponses: 11
    Dernier message: 14/10/2004, 18h57
  3. utilisation des sockets sous windows
    Par Tupac dans le forum Réseau
    Réponses: 2
    Dernier message: 21/12/2002, 19h24
  4. [Crystal Report] Utilisation des vues de sql serveur
    Par Olivierakadev dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 15/11/2002, 18h44
  5. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 17h01

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