Programmation Orientée Objet ActionScript 3
Programmation Orientée Objet ActionScript 3 et composants personnalisés
5 jours
Objectif
Techniques avancées de programmation et optimisation du code.
Ce module est destiné aux personnes souhaitant approfondir leur connaissance du langage ActionScript 3, en Programmation Orientée Objet et développement de composants.
L'étude du langage ActionScript 3 est organisée en 3 modules, "Programmation ActionScript3", "Programmation Orientée Objet" et le module "Sites dynamiques".
Le déroulé de cette formation correspond au module "Programmation Orientée Objet".
Prérequis
Maîtrise du contenu de la formation "Programmation ActionScript 3".
Outil
Adobe Flash CS5, FlashDevelop et/ou Flash Builder 4Déroulé
Rappel
Rappel sur les fonctions
Le tableau …rest
Signatures de méthodes
Portée et durée de vie des variables
Méthode call et apply
Types primitifs et composites
Classe Object
Introduction au concept de la POO
Notation Objet [ ]
Tableaux associatifs
Typage fort
Typage des propriétés, variables, retours de fonction
Restrictions et intérêts
Comportements à la compilation et exécution
Optimisation
Choisir les bons types
Notion de JIT (Just-In-Time Compiler)
Différences entres AVM1 et AVM2
Libération des ressources
Concept de ramasse-miettes (Garbage Collector)
Fonctionnement du ramasse-miettes
Modèle évènementiel
Fonctions de rappel (callback)
Classe EventDispatcher (écouteurs d'événements)
Diffusion d’événements personnalisés
Propagation évènementielle
Le flot d’événements
Phase de descente (capture phase)
Phase cible (target phase)
Phase de remontée (bubbling phase)
Optimisation du code
La Programmation Orientée Objet et les Classes
Création et définition de Classes (class)
Fonction constructeur
Création de propriétés et méthodes
Méthodes de récupération et d'affectation
Création de propriétés en lecture/écriture (getter/setter)
L'héritage
Attributs de propriétés
Classes dynamiques (dynamic)
Héritage de classes (extends)
Le polymorphisme
L'encapsulation
Conversion de types
Transtypage
Opérateur as
Les paquetages et espaces de nommage (package/namespace)
Les Interfaces (interface/implements)
Classes graphiques personnalisées
Définition de sous-classes graphiques
Intérêts
La composition
Composition vs héritage
Intérêts
Débogage
Les erreurs de compilation et d’éxécution
La Classe Error, blocs try, catch et finally
Lever une erreur avec throw
Utilisation du débogueur
Utilisation de composants UI
Tour d'horizon sur les composants
Architecture des composants UI
Étendre un composant UI
Modification de l'apparence (styles, thèmes, enveloppes)
Repère d'échelle à 9 découpes
Zone de retraçage
Développement de composants
Présentation des composants
Mise en pratique de la POO
Paramètres des composants
MetaData
Implémentation de l'architecture UI
Structure des .SWC
Aperçu en direct
Application :
Création d'un composant comportemental
Génération de librairies documentées
Penser une API
Créations de SWC pour Flash/Flex/AIR
Générer et livrer une documentation au format ASDoc
Création de fichiers d'extension (.mxp)
Ajout d'actions dans le panneau Actions
Documentation
Paquetage et création d'une extension *.mxp
Modèle de conception (Design Patterns)
SingletonObserver
Model View Controller : concept et introduction

