Tutoriel action Script 3 - 009


Dans le prolongement avec le tutorial (001 - 002 - 003 - 004 - 005 - 006 - 007 - 008)

5. La programmation orientée objet.

Pour beaucoup de langage orienté objet est un moyen simple, rapide et efficace qu'il peut traduire à une meilleure performance dans le code et une identification plus facile des erreurs et de l'interprétation par d'autres programmeurs. Mais comme tout, il ya aussi un autre revers de la médaille, beaucoup de programmeurs qui affichent encore des obstacles à accepter ce mode de programmation et sont très réticents à utiliser.

Mais en action Script 3 il n'ya pas d'autre manière, ou si l'orienté objet program ou il est préférable de l'oublier AS3.

A partir de maintenant aller de plus en plus à ce type de programmation, et de son usage, donc nous parler de façon plus concrète les avantages d'utiliser la bonne structuration du code. Un des principes de base langage orienté objet est la compréhension de sa structure et son mode de fonctionnement, avec une attention particulière à:

La classe: Collection de fonctions et de variables liées à faciliter l'interaction avec certains objets. Il s'agit de la «de base» de la programmation orientée objet et AS3 langues, et montrera son usage dans des situations différentes.

Inheritance (code héréditaire): Un des grands avantages de AS3 (POO) est la capacité de modifier / supprimer / ajouter des propriétés et fonctions à un composant / fonction / méthode sans avoir à réinventer la roue, ce qui nous permet d'étendre une classe / Composant sans avoir à programmer une classe à partir de zéro, qui, en plus de sauver de nombreuses lignes de code, permet également de mieux comprendre le comportement d'un élément particulier ou de la classe et melhora-las/adequa-las à nos besoins.

Composition (Composition): Comme indiqué ci-dessus, cette possibilité d'extension de tous les éléments et leur classe de l', peut être très utile, mais il n'est pas possible dans certaines situations et pour ce faire, nous avons cette méthode "Composition", qui est une technique qui nous permet de créer une classe qui peut travailler avec une autre, et que rien ne peut hériter d'une classe d'un composant.

Encapsulation: Il n'est généralement pas une bonne idée d'exposer tous les aspects d'une classe pour les autres de la classe ou de l'application, il Ecapsulação est une méthode pour "masquer" la plupart des propriétés et des fonctions d'une classe qui ne permet que certains éléments sont exposés .

Polymorphisme: Cette méthode permet à des objets de différentes classes de mai ont le même nom et les mêmes événements et à se comporter de façons différentes, qui permettent en fin de compte n'est pas nécessaire de créer de nouvelles méthodes et de l'étendre ensuite plus facile de classe ... Mais seulement pour voir comment l'objet se comporte dans différentes classes.

Note: Il est important de comprendre que la programmation orientée objet mai langues ne pas être facile ou approprié pour tout le monde ou de la situation, mais il est très utile en particulier lorsqu'elles sont utilisées dans des projets de moyenne et grande échelle avec de nombreux développeurs, car il simplifie dans une grande partie de l'équipe de travail . Il n'est pas nécessaire d'apprendre à apprendre OOP plan AS3, mais à être lié de près de 50% des possibilités de bien AS3 est également vrai.

L'un des premiers avantages dans le processus de la planification d'un langage POO est de choisir une bonne plate-forme pour son développement, principalement parce qu'il existe de nombreuses façons de créer une interface et une variété d'outils pour le faire. Une bonne pratique est que, avant de commencer votre plan de projet fait ses besoins, les objectifs, la structure et le comportement de la programmation. Si oui, est une maison à réaliser une programmation orientée objet en tant que langue AS3 peut facilement répondre aux besoins du projet, mais ne vous inquiétez pas être trop exigeant sur vos premiers projets, parce que c'est sûr de trouver des problèmes et commettre des erreurs, qui servent d'optimiser et d'améliorer votre façon de travailler.

Parlons peu de détails et de chacun de ces points ...

5.1. De la classe

La classe de base sont la programmation orientée objet pour toute langue, qui offre un énorme avantage et l'amélioration par rapport à la non-avec la programmation orientée objets, et qui ont probablement été utilisés par une grande partie des développeurs, pas même avec l'intention de les utiliser jusqu'à Même dans les parties plus tôt cette tutoriel de classe ont déjà été utilisés indirectement et peut-être pas remarqué. Ayant appris à travailler avec les événements (addEventListner, removeEventListner et même les eventDispatch), avec displayList (affichage d'objets, objets de contenants et de l'écran), et même avec les tableaux que dans son "de base" toutes les méthodes / propriétés de la classe sont .

Ne soyez pas inquiet si vous pensez ne comprend pas pourquoi elle est parlé en classe parce que c'est avant le comprendrez, parce que ces la classe ne sont pas "visible" lorsque nous utilisons ce que l'on ne doit donc pas avoir qui ont été perçus de la classe.

Par exemple, déjà utilisé les propriétés et les méthodes de Button, tels que. Largeur,. X,. Et, se déplacer () et sans avoir remarqué, toutes ces propriétés appartiennent à la classe Button pour savoir comment créer une nouvelle instance de cette classe:

   Button(); var btn: Button = new Button (); 

qui est la clé pour commencer le travail avec la classe. Puis (déjà) avec toute cette expérience en classe, quel est le problème? La principale difficulté a expliqué à venir porte sur le fait que plan de ces classes, car il est considéré comme très facile et s'en sert déjà à le faire.

Nous allons commencer par la création d'une "classe personnalisée", c'est-à-dire une classe personnalisée, voir:

  package test 
  ( 
  Mx.controls.Button importation; 
  public class Test s'étend Button 
  ( 
  test de la fonction publique () 
  ( 
  Trace ( "Button"); 
  ) 
  ) 
  ) 

Il s'agit de la structure de base d'un classement et nous venons de passer l'orthographe:

Nous avons commencé le paquet déclaration indiquant votre nom (d'essai) est littéralement pas nécessaire, mais a ainsi commencé à expliquer les choses bien, juste après que nous utilisons à l'importation de notre classe, qui indique que nous allons faire usage d'une autre classe (Button) est pas que nous avons posées à l'importation, le compilateur ne sait pas ou identifier cette classe comme une "extension" de l'autre, et ne mènera à rien.

Puis indiquer le début de notre classe de l'emballage, (classe de test public) et nous allons étendre la classe bouton (Button s'étend), qui cause toutes les propriétés, méthodes et événements dans le bas de classe sont disponibles pour les utiliser dans notre classe.

Enfin, nous avons une fonction / méthode de base de notre classe. (test de la fonction publique)

Pour utiliser cette classe, en faire assez dans notre projet:

  teste.teste importation; 
  var meubtn: test = new test; 

la famille n'est-ce pas?

Cette déclaration est exactement égale à toute autre déclaration d'objets, et nous pouvons maintenant voir comment il est simple de créer une classe. À la suite de notre classe, la variable meuBtn sera exactement égal à un bouton parce que notre classe possède aussi un bouton de test et rien de plus, si ils utilisent le code après le début:

  addChild (meuBtn) 

vous verrez un bouton sur la scène, comme un bouton normal, c'est-à-dire pas remarqué de différence entre:

  teste.teste importation; 
  var meubtn: test = new test; 
  addChild (meubtn); 

et

  var meubtn2: Button = new Button; 
  addChild (meubtn2); 

5.1.1. Classe chemins (chemins de la classe de l')

Le chemin de la classe peuvent être interprétées comme le chemin physique où la classe est, dans l'exemple ci-dessus, de définir ensemble test, nous avons également définir le chemin de cette classe, qui a été organisée dans le système de fichiers (dans les annuaires ) Comme:

-> Projet:

-> Test (forfait)

-> Test (classe)

Eh bien, maintenant, c'est pour tous ...

Suite ...

ccommons

version pdf temporairement indisponible.
Laissez un commentaire ou laisser un Trackback

7 Commentaires

  1. Felipe
    14 juin 2008 à 2:40 pm | Lien permanent

    félicitations à l'occasion de tutoriels ami, en plus de contribuer à la qualité de nombreuses personnes qui viennent de la procédure de programmation.
    a autorisé, beaucoup de mes réflexions sur la programmation OOP!
    hugs ... et s'il vous plaît continuer

  2. 2 septembre 2008 à 1:32 pm | Lien permanent

    Très bon! félicitations!
    Prenez le temps que je cherchais sur le contenu AS3 en portugais .. et il est difficile de trouver ..
    Mais avec ces articles de son permis assez!
    Merci! vaut la peine!

  3. 2 septembre 2008 à 7:24 pm | Lien permanent

    Felipe, je l'espère au moins que l'idée est que, malgré être plus compliqué à comprendre, rend les choses beaucoup plus facile après une certaine compréhension ... :)

    Tobias, Merci! J'espère que la TSW continuer à aider encore plus :)

    Serrer dans ses bras.

  4. Jeferson Ribeiro
    10 septembre 2008 à 12:54 h pm | Permalink

    Bonjour Mario, tout d'abord félicitations à l'occasion de travaux ...
    Et je voudrais dire que c'est grâce à vous aujourd'hui, je sais que beaucoup de flex.
    Merci pour le soutien :)

    Mario, j'ai une question:
    Son apostila de Actioscript 3, qui dispose de toutes les classes, est déjà disponible pour le téléchargement?

  5. 10 septembre 2008 à 5:18 pm | Lien permanent

    Jeferson bonne.
    Merci!

    Oui, le livre électronique qui relie les cours de 01 à 011 est maintenant disponible pour téléchargement à l'adresse suivante:
    http://msdevstudio.com/blog/2008/06/30/tutorial-action-script-3-parte-io-livro/

    Serrer dans ses bras.

  6. Jeferson Ribeiro
    10 septembre 2008 à 5:26 pm | Lien permanent

    Merci encore ...
    Succès et beaucoup de paix pour vous Mario ...

  7. 10 septembre 2008 à 5:39 pm | Lien permanent

    Oupa! n'ont pas de ça! :)

    Serrer dans ses bras.

Laisser un commentaire

Votre e-mail n'est jamais publié ou partagé. Les champs obligatoires sont marqués d'un *