IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ Flash MX 2004

FAQ Flash MX 2004Consultez toutes les FAQ

Nombre d'auteurs : 5, nombre de questions : 81, dernière mise à jour : 16 juin 2021 

 
OuvrirSommaireProgrammation Orientée Objets

Importation des classes :

 
Sélectionnez
import SimpleClasseImportee; // Importe la classe "SimpleClasseImportee" située au même niveau que l'animation
import repertoireLibrary.ClasseImportee;  // Importe la classe "ClasseImportee" située dans le répertoire "repertoireLibrary"
...

Déclaration de la classe :

 
Sélectionnez
class NomDeLaClasse { // Si la classe se trouve au  même niveau que l'animation
ou
class repertoireLibrary.NomDeLaClasse { // Si la classe est située dans le répertoire "repertoireLibrary" 
ou
class NomDeLaClasse extends repertoireLibrary.NomDeLaClasseHeritee { // si la classe hérite de la classe "NomDeLaClasseHeritee"

Déclaration de la classe :

 
Sélectionnez
var sVar1:String:
var nVar2:Number;
var ...;

Contructeur

 
Sélectionnez
public NomDeLaClasse (nArg1:Number, sArg2:String, ...) {
    ...
}

Fonctions avec retour

 
Sélectionnez
public function nomDeLaFonction (...):TypeDeRetour { // TypeDeRetour est le type (String, Number ...) de la valeur renvoyée. 
    ...
    return ...;
}

Fonctions sans retour

 
Sélectionnez
public function nomDeLaFonction (...):Void { 
...
}
ou 
public function nomDeLaFonction (...) { 
...
}

Fermeture de la classe

 
Sélectionnez
}
Créé le 5 juin 2006  par Grégory Dumas

Lien : Création de classes personnalisées
Lien : Créer un composant

Cela vient probablement d'un problème d'allocation de la mémoire. Cette erreur peut se produire dans la plupart des langages orientés objet.
Il ne faut pas allouer l'espace mémoire directement à la déclaration de l'attribut en question.

 
Sélectionnez
Class MaClasse{
    private var _tab:Array = new Array();
 
    //constructeur
    function MaClasse(){
    }
 
    public function setTabl(tab:Array):void{
        _tab = tab;
    }
}

Dans cet exemple _tab aura toujours la valeur de la dernière instance, peu importe l'instance.

Une solution est donc d'allouer l'espace mémoire dans le constructeur :

 
Sélectionnez
class MaClasse{
    private var _tab:Array;
 
    //constructeur
    function MaClasse(){
        _tab = new Array();
    }
 
    public function setTabl(tab:Array):void{
        _tab = tab;
    }
}

Dans cette seconde classe, l'attribut _tab aura une valeur unique pour chaque instance.

Créé le 5 juin 2006  par Demco

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003-2006 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.