Comment faire des classes imbriquées

diaod8 Messages postés 26 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 29 mai 2008 - 21 avril 2008 à 20:33
diaod8 Messages postés 26 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 29 mai 2008 - 23 avril 2008 à 15:40
Voila, j'ai un bout de code en javascript, je ne comprend pas pourquoi mes classes imbriqué ne fonctionnent pas, j'aimerais que quelqu'un m'explique.

 function Fournisseur() {//Classe parent
        this.nom = "";
        this.adresse = Adresse;
        this.options = Options;
        this.taxes = Taxes;
        this.statistiques = Statistiques;
        /*this.memo = Memo;
        this.imExPortation = ImExPortation;
        this.info = Info; */
        this.activite = false;
        this.destinataireChargesSociales = false;
        //this.print =
        debug();
      }
        function Adresse() { //classe enfant
debug();
          this.contact = "";
          this.rue1 = "";
          this.rue2 = "";
          this.ville = "";
          this.province = "";
          this.codePostal = "";
          this.pays = "";
          this.telephone1 = "";
          this.telephone2 = "";
          this.telecopieur = "";
          this.noInsTaxe = "";
          this.courriel = "";
          this.siteWeb = "";
          this.dateDepuis = "";
        }
        function Options() {//classe enfant
          this.compteDeCharges = "";
          this.langueAffaire = "Français";
          this.remise = "";
          this.remiseJours = "";
          this.montantNetJours = "";
          this.calculerRemisesAvantTaxe = false;
          this.inclureQuandImpressionT5018 = false;
          this.methodeDeBonDeCommande = "Imprimer";
          this.impressionNomContactSurCheque = false;
          this.confirmationFacturesEtDevisParCourriel = false;
          this.MSOutLookSync = false;
        }
        function Taxes(){//classe enfant
          this.noms = new Array();
          this.noms[0] = "TPS";
          this.noms[1] = "TVQ";
          this.activites = new Array();
          this.activites[0] = false;
          this.activites[1] = false;
          this.taxes = new array();
          this.taxes["noms"] = this.noms;
          this.taxes["activites"] = this.isActiveTaxe;
          this.add = addTaxe;
          this.get = getTaxe;
          
          this.codeTaxe = false;
          this.addCode = addCodeTaxe;
        }
        function Statistiques(){//classe enfant
          var aujourdhui = new Date();
          this.anneeTaxe = new array();
          var anneePaiement = new array();
          this.paiements = new array();
        }

5 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 avril 2008 à 12:06
Bonjour,

    quelles classes imbriquées...   j'ai rien compris.....
    pour simplifier, tu nous montres  :

function Fournisseur() {
   this.nom = "";   }
function Adresse() {
   this.contact = "";    }         

    et ben là, rien ne plante, bien sûr.
    mais qui appelle quoi ? comment ? ....

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
22 avril 2008 à 15:01
Bonjours,
le problème ne viendrait-il point des lignes en gras ?
function Fournisseur() {//Classe parent
        this.nom = "";
        this.adresse = Adresse;
        this.options = Options;
        this.taxes = Taxes;
        this.statistiques = Statistiques;
        /*this.memo = Memo;
        this.imExPortation = ImExPortation;
        this.info = Info; */
        this.activite = false;
        this.destinataireChargesSociales = false;
        //this.print =
        debug();
      }
essais avec :
this.adresse = new Adresse();
...
this.statistiques = new Statistiques();

Mais la notion de classe parente et classe fille est un peu légère.... non ?
[o-_-o]
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
22 avril 2008 à 18:41
Bonjour,
<table bgcolor= "#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, le problème ne viendrait-il point des lignes
en gras ?</td>
</td></tr></tbody></table>au moins
un des problèmes c'est sur, il y a bien lieu de déclarer le nouvel objet avec
new .

Attention :
this.taxes = new array();array n'est pas
défini que je sache...
;O)
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
22 avril 2008 à 18:52
Je viens de retrouver un lien qui peut
s'avérer utile Langages basés sur les classes et langages basés sur les
prototypes
, pas relu mais cela à l'air assez complet.
;O)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
diaod8 Messages postés 26 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 29 mai 2008
23 avril 2008 à 15:40
Merci beaucoup, c'est bizarre que je n'est pas penser à déclarer mon objet, vive l'instanciation!!!
0
Rejoignez-nous