Bonjour,
Je suis actuellement entrain de me former à AS3 par le biais du livre Pratique d'ActionScript 3, que j'ai trouver en téléchargement libre.
Je suis bloquer a une étape importante du Chapitre 8 - Class Joueur.
J'ai bien suivie tout les étape du livre mais je pense qu'il y a a une erreur dans le pdf et que donc cette exemplaire n'était pas la dernière version.
Le but de cette partie du cours devais m'apprendre à utiliser la méthodes lecture/ecriture (Getter/Setter) au lieu d'une méthodes d’affectation et de récupération (fonction getNom())
joueur.fla
joueur.as
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 var monJoueur:Joueur = new Joueur("Stevie", "Wonder", 57, "Michigan"); //ok affiche "getNom : Wonder" trace( "getNom : "+monJoueur.getNom() ); //devrais afficher "Le nom spécifié est trop long" monJoueur.nom = "UnNomTresTresTresTresTresTresLong"; //devrais afficher "nom : Wonder" trace( "nom : "+monJoueur.nom ) ;
Lorsque je test, je reçois 2 erreur de compilation du type :
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
28
29
30
31
32
33
34
35
36 package { public class Joueur { // définition des propriétés de la classe private var _nom:String; public var nom2:String; private var prenom:String; private var age:int; private var ville:String; // fonction constructeur public function Joueur( pPrenom:String, pNom:String, pAge:int, pVille:String ) { prenom=pPrenom; _nom=pNom; nom2=pNom; age=pAge; ville=pVille; } // récupère le nom du joueur public function get nom( ):String { return _nom; } // récupère le nom du joueur public function getNom( ):String { return nom2; } // permet de changer le nom du joueur public function set nom( pNom:String ):void { if (pNom.length<=30) { _nom=pNom; } else { trace("Le nom spécifié est trop long"); } } } }
1178: Tentative d'accès à la propriété inaccessible nom, via la référence de type static Joueur.
sur les ligne :
monJoueur.nom = "UnNomTresTresTresTresTresTresLong";
et
trace( "nom : "+monJoueur.nom ) ;
Si je commente c'est 2 ligne et que je test le script, la function getNom fonctionne correctement et me renvoie bien "nom : Wonder"
Si vous avez des question, n'hésiter pas j'y redonderai dans la limite de mes connaissance et dans ce que j'ai compris jusqu'à la.
Merci d'avance pour votre aide.







Répondre avec citation


Partager