banner

Précédent   InfographiK - Communauté Graphique > FLASH & ACTION SCRIPT > Débuter avec Flash > Les cours de base

Réponse
 
LinkBack Outils de la discussion
  #1 (permalink)  
Vieux 04/04/2007, 12h39
Avatar de Smike
Administrateur
 
Date d'inscription: May 2002
Localisation: 26
Messages: 3 008
Zoom [ActionScript] La déclaration d'une classe

Dans sa structure globale, une classe est compose 4 parties bien distinctes.
  • Déclaration de la classeavec nom, package.
  • Déclaration des propriétés avec leurs port respectives, leurs types.
  • Déclaration du constructeur de la classe.
  • Déclaration des méthodes de la classe.

Par habitude, les 4 parties seront dans dans l'ordre de la liste ci dessus, bien que pour Flash, l'ordre des déclarations n'a pas d'importance.



Déclaration de la classe :
Pour déclarer une classe, il faut utiliser le mot clé class suivit du nom de votre classe. La définition de votre classe sera définie entre 2 accollades { }.

Par exemple :

ActionScript Code:
  1. class Voiture
  2. {
  3. }

Si votre classe fait partie d'un package, il faut spécifier ce package au niveau de la déclaration de la classe.
Par exemple, ma classe voiture fait partie du package com.dossier, alors la déclaration de ma classe devient :

ActionScript Code:
  1. class com.dossier.Voiture
  2. {
  3.  
  4. }

Rappel pour les packages, veuillez bien enregistrer votre classe dans le repertoire correspondant, exemple com\dossier.



Déclaration des propriétés :
Comme nous l'avons vu précédemment, nous allons déclarer les différentes propriétés de notre classe. Petit rappel, les propriétés sont les "variables" de notre classe.
La déclaration devra comporter : * la portée de la propriété (public si non spécifiée).
  • Le nom de la propriété.
  • Le type de la propriété
  • L'initialisation de la propriété (facultatif)

Par exemple :

ActionScript Code:
  1. class com.dossier.Voiture {
  2.  
  3. private var _sFabricant:String;
  4. private var _sModele:String;
  5. private var _nAnnee:Number;
  6. private var _nKilometres:Number;
  7. private var _nIntervalle:Number;
  8.  
  9. }

Vous noterez l'utilisation du caract _ devant les propriétés privées
Rien d'obligatoire, mais c'est une technique pour repérer la portée des propriétés du premier coup d'oeil. De plus, beaucoup de développeurs utilise cette notation.



Déclaration du constucteur :
Le constructeur est une méthode spéciale de la classe. Cette méthode doit imptivement portle nom de la classe déclarée. Le constructeur permet de créer une instance de la classe. Si aucun constructeur n'est défini, Flash va créer, implicitement, un constructeur vide.

Un constructeur est une méthode qui accepte des paramètres en entrée mais ne retourne jamais rien. Voici un exemple de constructeur pour la classe Voiture :

ActionScript Code:
  1. class com.dossier.Voiture
  2. {
  3.  
  4. private var _sFabricant:String;
  5. private var _sModele:String;
  6. private var _nAnnee:Number;
  7. private var _nKilometres:Number;
  8. private var _nIntervalle:Number;
  9.  
  10. function Voiture(sFabricant, sModele, nAnnee, nKilometres) {
  11. _sFabricant = sFabricant;
  12. _sModele = sModele;
  13. _nAnnee = nAnnee;
  14. _nKilometres = nKilometres;
  15. }
  16. }

Comme vous le constaterez, la portée du constructeur n'est pas définie ici.
Donc par défaut, la portée est publique.
Nous verrons plus tard qu'il est possible de déclarer un constructeur en portée privée.



Déclaration des méthodes :
Notre classe contient des propriétés, on peut l'instancier via le constructeur, maintenant, on voudrait bien que cette classe réalise quelques actions. La déclaration des méthodes est identique a déclaration de fonction en ActionScript.

La seule différence entre une méthode et une fonction, c'est la possibilite déclarer nos méthodes en portée publique, privée ou statique. Voyons quelques exemples simples de méthodes pour la classe Voiture :

ActionScript Code:
  1. public function conduire(nKMH:Number):Void {
  2. if(nKMH == null || nKMH == 0) {
  3. clearInterval(_nIntervalle);
  4. }
  5. else {
  6. _nIntervalle = setInterval(this, "increment", 1000, nKMH);
  7. }
  8. }
  9. private function increment(nKMH:Number):Void {
  10. _nKilometres += nKMH;
  11. }

Notez ici la déclaration d'une méthode publique et d'une méthode privée.Nous voilà donc maintenant avec une classe complète :

ActionScript Code:
  1. class com.dossier.Voiture
  2. {
  3.  
  4. private var _sFabricant:String;
  5. private var _sModele:String;
  6. private var _nAnnee:Number;
  7. private var _nKilometres:Number;
  8. private var _nIntervalle:Number;
  9.  
  10. //Constructeur
  11. function Voiture(sFabricant, sModele, nAnnee, nKilometres) {
  12. _sFabricant = sFabricant;
  13. _sModele = sModele;
  14. _nAnnee = nAnnee;
  15. _nKilometres = nKilometres;
  16. }
  17. public function conduire(nKMH:Number):Void {
  18. if(nKMH == null || nKMH == 0) {
  19. clearInterval(_nIntervalle);
  20. }
  21. else {
  22. _nIntervalle = setInterval(this, "increment", 1000, nKMH);
  23. }
  24. }
  25.  
  26. private function increment(nKMH:Number):Void {
  27. _nKilometres += nKMH;
  28. }
  29.  
  30. }


Source : Adddvance.net
__________________
[La musique fait danser les consciences]
Réponse avec citation
Réponse

Outils de la discussion

Règles de messages
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui



Fuseau horaire GMT +2. Il est actuellement 06h53.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0 Tous droits réservés.
Version française #13 par l'association vBulletin francophone

Communauté Graphique
CNIL : 1130886