Bonjour à tous,

je m'essaye à la programmation orientée objet avec Javascript. Mais je rencontre une difficulté : j'ai une méthode privée, et je souhaiterais accéder à un attribut public, mais cela me génère une erreur.

Voici l'exemple de code :

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
 
function MaClasse(parametre1, parametre2) { 
 
    this.attribut1 = parametre1; 
 
    this.attribut2 = parametre2; 
 
 
 
    this.methodePublic = function() { 
 
        // Appel d'une méthode privée
        methodePrivee(); 
 
    } 
    var methodePrivee = function() { 
 
        // Je veux afficher un attribut public appartenant à la même classe
        alert(this.attribut1); 
 
    } 
 
} 
var obj = new MaClasse("toto", "tutu"); 
obj.methodePublic();
Cela me fait un alert avec undefined.

Bien sur, je pourrais rendre ma méthode publique également, mais j'ai de bonnes raisons de ne pas le faire.
Est-ce que je fait mal quelque chose, ou est-ce que c'est quelque chose d'impossible ? Il y a-t-il un autre moyen d'accéder aux attributs publics ?
D'avance merci ^^