Trucsweb.com

Forum de discussion

 Forum « Flash et Shockwave » (archives)

Re: class, une introduction avec exemple simple

Envoyé: 19 août 2004, 10h29 par Oznog


Salut,

La "class" est la base de la programmation orientée objet (POO) et du language ActionScript 2.0. C'est en quelque sorte un "type complexe" comme les "Built-in classs; String, Math ou Date" avec des "membres"; variables, méthodes, proprités, événements, constructeur etc.

La définition d'une classe permet de créer un nouveau type de référence. Et l'objet ou les "instances", créées à partir de ce nouveau "type", peuvent du coup utiliser toutes les fonctionnalités de sa classe. Pour comprendre son implantation il faut savoir qu'une classe permet de concevoir des outils de "conception" portables et complètement indépendants. (Essentiellement une façon de "réutiliser" du code dans une communauté, et d'en optimiser la gestion).

UNE RÈGLE
Le nom donné à une classe est cruciale. On distingue une classe par son "nom" et pas le chemin d'accès (path) physique où elle est installée. Le fichier qui ne contient qu'une seule classe doit porter le même nom que la classe (maClasse devra être sauvée dans un fichier qui porte le nom; "maClasse.as". Avec une seule classe par fichier le nombre de fichiers peut devenir vite considérable. Son nom devient donc l'identification que chacun des concepteurs personnalise par le chemin d'accès à celle-ci. Ainsi, un bon conseil est de regrouper les classes dans un seul dossier.

Exemple :

DÉFINIR LE RÉPERTOIRE DES CLASSES
1. La première des choses à faire est de créer un sous-répertoire (dossier) du répertoire de tes Flashs. Et ouvrir la fenêtre des des propriétés (settings) de publication [ctrl-shift-F12]. Dans l'onglet FLASH sélectionner "ActionScript 2.0" et cliquez le bouton de configuration (settings) de l'ActionScript 2.0.

Dans la nouvelle fenêtre ouverte, spécifier le chemin d'accès au dossier des classes; Cliqer le symbole + puis la cible (cercle et croix) pour sélectionner le répertoire de vos classes. Une fois fait, vos projets Flash chercheront vos classes dans ce dossier. Noter que par défaut, Flash va chercher ses classes dans le répertoire courant, soit celui qui contient le .fla. Mais puisque les Classes sont avant tout des outils "organiseés" pourquoi ne pas bien s'organiser justement.

CRÉATION D'UNE CLASSE
2. Vous pouvez bien sûr utiliser n'importe quel éditeur mais Flash permet de gérer facillement une classe. Créer un nouveau Flash [ctrl-N] et sélectionner le fichier "ActionScript" (file).

Une bonne pratique est de donner en commentaire le nom de la classe sur la première ligne.

// maClasse.as
class maClasse {
function maMethode1() {
trace("Appel de la méthode 1");
}
function maMethode2() {
trace("Appel de la méthode 2");
}
}

Sauver ce document, dans le dossiers de vos classes sous "maClasse.as"

Cette classe et ces deux méthodes qui se contente de faire une trace sont maintenant disponibles dans tout vos nouveau projet Flash.

Créer un nouveau Flash et ajouter sur la première ligne ce code :

// Création d'une instance de la classe maClasse
var oMonObjet:maClasse = new maClasse();
// Utilisation de la méthode 1
oMonObjet.maMethode1();
// Utilisation de la méthode 2
oMonObjet.maMethode2();

Voilà pour la classe simple.

CLASSE AVANCÉES ET ACCESSIBILITÉ
Pour terminer, sachez qu'il y a toute une hiérarchie et une question d'héritage avec les classes. C'est d'ailleurs la force des classes. Changer une classe "parent" permet du coup de modifier l'ensemble de ces enfants. Etc. Ce peut devenir très complexe pour un message de forum mais en gros voici un aperçu de l'accessibilité d'une classe que vous pourriez rencontrer plus fréquemment.

public : l'accès à une classe publique n'est pas limité.

private : son accès est réservé à une classe du même niveau. sachez que ce n'est pas simple... Par exemple puisqu'une classe "public" au peut communiquer avec une classe "private" du même niveau, une classe "externe" peut arriver à communiquer avec la classe "private" en passant par la classe "public". Enfin c'est comme la politique et l'administration.

extends : L'enfant d'une classe mère est dit "étendu". Il hérite entre autres des caractères sde son parent. Voici un exemple "bidon" d'extension de la classe "String" avec un "constructeur".

// chaine.as
class chaine extends String {
var longeur:Number;
// constructeur
function chaine(sTemp:String){
longeur = sTemp.length;
}
}

// Dans le Flash
var sChaine:chaine = new chaine("Allo le monde!");
trace(sChaine.longeur);

Voilà en gros un bon résumé. Reste qu'une classe est essantiellement une façon de "réutiliser" du code et d'en optimiser la gestion.

Ciao
Oznog


Réponses

 Aucune réponse à ce message... 
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@