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

JavaScript Discussion :

[POO] Problème de javascript objet


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Scrum master
    Inscrit en
    Juillet 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Scrum master

    Informations forums :
    Inscription : Juillet 2007
    Messages : 16
    Points : 19
    Points
    19
    Par défaut [POO] Problème de javascript objet
    Bonjour,

    Je souhaite creer un objet en javascript permettant de calculer le prix d'un produit en lui ajoutant des options ... Donc tout simplement je fait un objet avec un attribut prix et des methodes permettant de l'augmenter et de le diminuer.

    Vola ce que j'ai fait jusqu'a présent :

    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
    22
    23
    24
    25
    26
    27
    function prixProduit ()
    {
    	this.prixTotal = 0;
    	this.ajoutPrix = function (prix)
    	{
    		this.prixTotal = this.prixTotal + prix;
    	}
     
    	this.soustrairePrix = function (prix)
    	{
    		this.prixTotal = this.prixTotal - prix;
    	}
     
    	this.ajoutPourcentage = function (pourcentage)
    	{
    		pourcentage = pourcentage / 100;
    		this.prixTotal = this.prixTotal + (this.prixTotal * pourcentage);
    	}
     
    	this.sousTrairePourcentage = function (pourcentage)
    	{
    		pourcentage = pourcentage / 100;
    		this.prixTotal = this.prixTotal - (this.prixTotal * pourcentage);
    	}
     
    	this.affiche = alert("prix total : " + this.prixTotal);
    }
    Et voici comment je m'en sert :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script type="text/javascript">
    	var prixTable = new prixProduit();
    	prixTable.ajoutPrix(35);
    	prixTable.ajoutPrix(55);
    	prixTable.soustrairePrix(10);
    	prixTable.ajoutPrix(5);
    	prixTable.affiche;	
    </script>
    Malheuresement quand je lance la page contenant ce code il me renvoie la popup "prix total : 0"

    Je ne comprend pas pourquoi les methodes ne s'execute pas.

    Quelqu'un peut m'aider ?

    Merci beaucoup

  2. #2
    Membre habitué Avatar de dream_of_australia
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 167
    Points : 136
    Points
    136
    Par défaut
    Je pense qu'il faut d'abord que tu crées ta classe objet, et ensuite que tu crées les fonctions associées :

    Dans ton fichier de classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function PrixProduit() { // constructeur
        this.prixTotal = 0 ;
    }
     
    PrixProduit.prototype.ajoutPrix = function (prix) {
       this.prixTotal = this.prixTotal + prix ;
    }
    Dans ta fonction javascript appelée depuis la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    prixTable = new PrixProduit() ;
    prixTable.ajoutPrix(35) ;
    alert(prixTable.prixTotal) ;
    Code vite fait en deux minutes, à tester il y a peut-être des erreurs...

  3. #3
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    Fais plutot :
    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
    22
    23
    24
     
    function prixProduit(){}
    prixProduit.prototype=
        {  
        prixTotal : 0,
        ajoutPrix : function (prix)  
            {  
                this.prixTotal = this.prixTotal + prix; 
            },  
        soustrairePrix : function (prix)  
            {  
                this.prixTotal = this.prixTotal - prix; 
            }  ,
        ajoutPourcentage : function (pourcentage)  
            {  
                pourcentage = pourcentage / 100; this.prixTotal = this.prixTotal + (this.prixTotal * pourcentage); 
            }  ,
        sousTrairePourcentage : function (pourcentage)  
            {  
                pourcentage = pourcentage / 100; this.prixTotal = this.prixTotal - (this.prixTotal * pourcentage); 
            } ,
     
        affiche : function(){ alert("prix total : " + this.prixTotal); }
        }
    et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script type="text/javascript">
        var prixTable = new prixProduit();
        prixTable.ajoutPrix(35);
        prixTable.ajoutPrix(55);
        prixTable.soustrairePrix(10);
        prixTable.ajoutPrix(5);
        prixTable.affiche();    
    </script>


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  4. #4
    Membre à l'essai
    Profil pro
    Scrum master
    Inscrit en
    Juillet 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Scrum master

    Informations forums :
    Inscription : Juillet 2007
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Merci beaucoup !

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 21/02/2007, 09h44
  2. [POO] Problème objets PHP5
    Par alliance dans le forum Langage
    Réponses: 2
    Dernier message: 16/08/2006, 17h39
  3. [POO] contenu d'un objet javascript
    Par wtfu dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/08/2006, 11h12
  4. [POO] Problème lors de l'appel d'une propriété d'un objet.
    Par akecoocoo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/08/2005, 08h51
  5. [POO] Rendre invisible un objet Flash en Javascript
    Par tafkap dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/10/2004, 19h39

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