Est-ce que quelqu'un sait comment AS3/Flash runtime gère la tentative de modification du prototype lorsque vous travaillez entre des sandbox. En particulier, je crée l'objet O dans le bac à sable A, puis je le passe à SandBox B. Quel est l'effet si le code dans le bac à sable B essaie de modifier le prototype? (est-ce que les objets dans A de la même classe voient ceci?). Est-ce que Sandbox B peut remplacer les champs publics et les méthodes de l'objet créé dans sandbox A (si l'objet est transmis en tant que param)? Est-il possible de créer une classe non modifiable (c'est-à-dire l'équivalent de dire final en Java) qui peut agir comme un proxy prêt à passer entre les swf chargés et le swf principal? Je sais que la classe d'événements peut utiliser clone() pour faire cela, puis passer les événements entre les deux swf. L'utilisation d'une classe finale dans AS3 est-elle la bonne façon de créer des proxys en lecture seule qui ne peuvent pas être modifiés du tout?Action Script Prototypes et création de fonction dynamique
Répondre
vous pouvez toujours utiliser la classe flash.utils.Proxy, si vous voulez un proxy que lire un objet ...
ActionScript3 est prototype ne se base pas comme 1 et 2 ont été (vous devez compiler pour mode objet ECMA, qui vient à la diminution énorme de vitesse) ...
il a maintenant 2 mécanismes d'héritage ... on est classe basée, et l'autre est basé prototype et ne fonctionne que pour dynamiques propriétés de dynamique classes ... non scellé (c.-à-d. non dynamique) classe et aucun scellé propriété ou méthode scellé d'une classe dynamique peuvent être modifiés lors de l'exécution ... en modifiant une propriété, je veux dire la modification de son type, ou en ajoutant un setter lors de l'exécution, ou le remplacer. .. si la propriété est inscriptible, vous pouvez bien sûr d'attribuer quelque chose à elle ...
finale signifie seulement, il ne peut pas être sous-classé ...
pour autant que je sache, dès que vous passer un objet O de bac à sable A à B, le code dans B peut accéder à O de la même manière que le code dans A ...
Je ne sais pas, si cela répond à la question que vous ... peut-être pourriez-vous expliquer ce que vous êtes exactement à ... :)
greetz
back2dos
- 1. Utilisation des prototypes de fonction dynamique en PHP
- 2. Fonction d'attente Action Script 2.0
- 3. Internet Explorer 8 prototypes et XMLHttpRequest
- 4. Création dynamique de contrôle
- 5. Extraits et projets de prototypes - comment s'organiser?
- 6. Greasemonkey Script et fonction Portée
- 7. unittest et création dynamique des cas de test de Python
- 8. Création d'une dynamique de déclenchement
- 9. Création dynamique de tables et mappage ORM dans SqlAlchemy
- 10. Script client dynamique
- 11. création contrôle dynamique
- 12. Est-ce un cas approprié dans lequel l'utilisation de la création de fonction dynamique serait justifiée?
- 13. Création d'une expression régulière dynamique
- 14. pl sql & java - création de requête dynamique
- 15. Flex 3: Création dynamique et liaison de textinput
- 16. Comment évaluer les fichiers js prototypes via le moteur de script rhino en Java
- 17. création de proxy dynamique de château
- 18. Modifier un bouton dans Action Script 3.0
- 19. Implémentations Java du modèle de prototypes
- 20. Action multiple pour le script Loadrunner?
- 21. Création d'un bouton radio dynamique
- 22. création dynamique avec textboxes « échange »
- 23. Création d'un fichier XML dynamique
- 24. création d'intervalle dynamique dans SQL
- 25. Création dynamique de <rich: modalPanel>
- 26. graphviz: création dynamique du noeud
- 27. Appel d'une fonction dynamique
- 28. contrôles personnalisés, la création dynamique
- 29. Création de contrôle dynamique dans WPF
- 30. Création de RadEditor dynamique via HtmlHelper
merci pour la retour d'information. AS3 dispose de 4 modificateurs de visibilité de classe: dynamique, final, interne (par défaut) et public. Le doc as3 dit que si vous spécifiez dynamique, alors seulement une fonction peut ajouter de nouvelles propriétés et fonctions. Ai-je raison de supposer que c'est la même chose que (new Object()). Myprop = xyz? – nso1
votre hypothèse est correcte ... pour vous corriger, cependant, il y a 3 modificateurs de visibilité: public, interne et privé (ie seulement visible à la déclaration principale dans ce fichier) ... dynamique spécifie, si des propriétés peuvent être ajoutées à l'exécution, et final, que vous ne pouvez pas sous-classer la classe ... juste pour illustrer mon point: vous pouvez déclarer une classe publique finale dynamique Foo ... mais vous ne pouvez pas déclarer une classe interne publique Foo ... pour plus d'explications, vous devriez faire une nouvelle question, puisque 600 caractères sont assez restrictifs :) greetz – back2dos