Je me pose toujours la question au moment de créer une nouvelle fonctionalité : définir une nouvelle méthode ou utiliser une fonction ?
Je comprends le fonctionnement de la méthode mais quel en est vraiment la supériorité (s'il y en a une) en dehors de la façon de l'utilser (pas besoin de passer le nom du clip par exemple dans les paramètres).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jérôme Courivaud
Bonjour,
Ce que je trouve sympa avec les prototypes c'est que l'on donne une autonomie d'action à plusieurs MovieClip alors qu'une fonction travaille comme une procédure, elle enchaine une série d'actions est s'arrête.
Si je fais un protype onRollOver et onRollOut, et que je l'applique à pleusieurs MovieClip, c'est MovieClip peuvent avoir des actions onRollOver et onRollOut tout le long de l'animation. Une fonction ne fait qu'enchaîner des actions. Le truc sympa avec les fonctions, c'est que si l'on souhaite faire plusieurs fois la même chose, au lieu de copier-coller plusieurs fois le bout de programme utile, on le transforme en fonction et on rappelle cette fonction autant de fois que l'on veut. La fonction n'est qu'un ensemble de procédures réunis en un nom unique. La différence entre procédure et fonction - différence qui n'existe pas en flash mais dans d'autres langages comme Pascal Objet de Delphi - c'est que la fonction retourne une valeur "return", mais pas la procédure.
C'est que je peux en dire, d'autres t'en dirons bien plus.
Voilà
"laplage" a écrit dans le message de news:bpna7c$oq9$
Bonjour,
Je me pose toujours la question au moment de créer une nouvelle
fonctionalité : définir une nouvelle méthode ou utiliser une fonction ?
Je comprends le fonctionnement de la méthode mais quel en est vraiment la
supériorité (s'il y en a une) en dehors de la façon de l'utilser (pas besoin de passer le nom du clip par exemple dans les paramètres).
D'avance merci.
Bonjour,
Ce que je trouve sympa avec les prototypes c'est que l'on donne une
autonomie d'action à plusieurs MovieClip alors qu'une fonction travaille
comme une procédure, elle enchaine une série d'actions est s'arrête.
Si je fais un protype onRollOver et onRollOut, et que je l'applique à
pleusieurs MovieClip, c'est MovieClip peuvent avoir des actions onRollOver
et onRollOut tout le long de l'animation. Une fonction ne fait qu'enchaîner
des actions. Le truc sympa avec les fonctions, c'est que si l'on souhaite
faire plusieurs fois la même chose, au lieu de copier-coller plusieurs fois
le bout de programme utile, on le transforme en fonction et on rappelle
cette fonction autant de fois que l'on veut. La fonction n'est qu'un
ensemble de procédures réunis en un nom unique. La différence entre
procédure et fonction - différence qui n'existe pas en flash mais dans
d'autres langages comme Pascal Objet de Delphi - c'est que la fonction
retourne une valeur "return", mais pas la procédure.
C'est que je peux en dire, d'autres t'en dirons bien plus.
Voilà
"laplage" <webforumsuser@macromedia.com> a écrit dans le message de
news:bpna7c$oq9$1@forums.macromedia.com...
Bonjour,
Je me pose toujours la question au moment de créer une nouvelle
fonctionalité : définir une nouvelle méthode ou utiliser une fonction ?
Je comprends le fonctionnement de la méthode mais quel en est vraiment la
supériorité (s'il y en a une) en dehors de la façon de l'utilser (pas besoin
de passer le nom du clip par exemple dans les paramètres).
Ce que je trouve sympa avec les prototypes c'est que l'on donne une autonomie d'action à plusieurs MovieClip alors qu'une fonction travaille comme une procédure, elle enchaine une série d'actions est s'arrête.
Si je fais un protype onRollOver et onRollOut, et que je l'applique à pleusieurs MovieClip, c'est MovieClip peuvent avoir des actions onRollOver et onRollOut tout le long de l'animation. Une fonction ne fait qu'enchaîner des actions. Le truc sympa avec les fonctions, c'est que si l'on souhaite faire plusieurs fois la même chose, au lieu de copier-coller plusieurs fois le bout de programme utile, on le transforme en fonction et on rappelle cette fonction autant de fois que l'on veut. La fonction n'est qu'un ensemble de procédures réunis en un nom unique. La différence entre procédure et fonction - différence qui n'existe pas en flash mais dans d'autres langages comme Pascal Objet de Delphi - c'est que la fonction retourne une valeur "return", mais pas la procédure.
C'est que je peux en dire, d'autres t'en dirons bien plus.
Voilà
"laplage" a écrit dans le message de news:bpna7c$oq9$
Bonjour,
Je me pose toujours la question au moment de créer une nouvelle
fonctionalité : définir une nouvelle méthode ou utiliser une fonction ?
Je comprends le fonctionnement de la méthode mais quel en est vraiment la
supériorité (s'il y en a une) en dehors de la façon de l'utilser (pas besoin de passer le nom du clip par exemple dans les paramètres).
D'avance merci.
zwetan
salut,
Je me pose toujours la question au moment de créer une nouvelle fonctionalité : définir une nouvelle méthode ou utiliser une
fonction ?
Je comprends le fonctionnement de la méthode mais quel en est vraiment la supériorité (s'il y en a une) en dehors de la façon de
l'utilser
(pas besoin de passer le nom du clip par exemple dans les paramètres).
la methode s'inscrit dans une logique Orienté Objet elle execute une action sur l'objet dont elle depend
une fonction n'a pas de contexte objet, elle execute une procedure sur les paramettres qu'on lui passe
la différence vient de ca, on peut passer un objet en paramettre a une fonction mais si il y a plusieurs sortes d'objets elle doit gerer ces differences, par contre la methode qui est "collée" a l'objet n'a a gerer que cette sorte d'objet
par ex: function stringify( anyobj ) { /* block de code si l'objet est une Array */ /* block de code si l'objet est un number*/ etc... }
Array.prototype.toString = function() { /* block de code pour transformer cet objet en string */ }
Number.prototype.toString = function() { /* block de code pour transformer cet objet en string */ }
la "superiorité" si on peut appeler ca comme ca, c'est de pouvoir séparer les responssabilités d'une maniere clair et logique
"toString" est responssable de transformer en string un objet un objet Array est responssable de gerer des tableaux un objet Number est responssable de gerer des nombres etc...
une fonction comme "stringify" serait responssable de "trop" de choses: - reconnaitre le type de l'objet de tous les objets - choisir le bon processus pour passer ce type d'objet en string
le probleme avec ca c'est le probleme de gestion du code si en cours de developpement de nouveaux types d'objets sont definis
le fait d'utiliser des methodes deviendra "superieur" quand le code deviendra complexe car il permettra de separer la gestion du code en plusieurs petits bouts de code définis par objets plutot que d'avoir un tres gros block de code dans une seule fonction
mais apres c'est plus un avantage de la Programmation Orienté Objet (POO) qu'une reele opposition entre methode et fonction
par définition: une methode c'est une fonction definit dans un objet
la vraie question serait plutot quels sont les avantages de la POO par rapport a la programmation procédurale, et ca tout dépends de comment tu penses ton code
pour certains il est plus clair de gerer des abstraction d'objets
pour d'autres il est plus simple de gerer des executions de procedures les unes a la suite des autres
je pense plutot que la POO est "superieure" en general, mais pas partout et pas tout le temps..tout depends du contexte.
zwetan
salut,
Je me pose toujours la question au moment de créer une
nouvelle fonctionalité : définir une nouvelle méthode ou utiliser une
fonction ?
Je comprends le fonctionnement de la méthode mais quel en est
vraiment la supériorité (s'il y en a une) en dehors de la façon de
l'utilser
(pas besoin de passer le nom du clip par exemple dans les paramètres).
la methode s'inscrit dans une logique Orienté Objet
elle execute une action sur l'objet dont elle depend
une fonction n'a pas de contexte objet, elle execute
une procedure sur les paramettres qu'on lui passe
la différence vient de ca, on peut passer un objet
en paramettre a une fonction mais si il y a plusieurs
sortes d'objets elle doit gerer ces differences,
par contre la methode qui est "collée" a l'objet
n'a a gerer que cette sorte d'objet
par ex:
function stringify( anyobj )
{
/* block de code si l'objet est une Array */
/* block de code si l'objet est un number*/
etc...
}
Array.prototype.toString = function()
{
/* block de code pour transformer cet objet en string */
}
Number.prototype.toString = function()
{
/* block de code pour transformer cet objet en string */
}
la "superiorité" si on peut appeler ca comme ca, c'est de pouvoir
séparer les responssabilités d'une maniere clair et logique
"toString" est responssable de transformer en string un objet
un objet Array est responssable de gerer des tableaux
un objet Number est responssable de gerer des nombres
etc...
une fonction comme "stringify" serait responssable de "trop" de choses:
- reconnaitre le type de l'objet de tous les objets
- choisir le bon processus pour passer ce type d'objet en string
le probleme avec ca c'est le probleme de gestion du code
si en cours de developpement de nouveaux types d'objets sont definis
le fait d'utiliser des methodes deviendra "superieur"
quand le code deviendra complexe car il permettra de separer
la gestion du code en plusieurs petits bouts de code définis par objets
plutot que d'avoir un tres gros block de code dans une seule fonction
mais apres c'est plus un avantage de la Programmation Orienté Objet (POO)
qu'une reele opposition entre methode et fonction
par définition: une methode c'est une fonction definit dans un objet
la vraie question serait plutot quels sont les avantages de la POO
par rapport a la programmation procédurale, et ca tout dépends
de comment tu penses ton code
pour certains il est plus clair de gerer des abstraction d'objets
pour d'autres il est plus simple de gerer des executions
de procedures les unes a la suite des autres
je pense plutot que la POO est "superieure" en general,
mais pas partout et pas tout le temps..tout depends du contexte.
Je me pose toujours la question au moment de créer une nouvelle fonctionalité : définir une nouvelle méthode ou utiliser une
fonction ?
Je comprends le fonctionnement de la méthode mais quel en est vraiment la supériorité (s'il y en a une) en dehors de la façon de
l'utilser
(pas besoin de passer le nom du clip par exemple dans les paramètres).
la methode s'inscrit dans une logique Orienté Objet elle execute une action sur l'objet dont elle depend
une fonction n'a pas de contexte objet, elle execute une procedure sur les paramettres qu'on lui passe
la différence vient de ca, on peut passer un objet en paramettre a une fonction mais si il y a plusieurs sortes d'objets elle doit gerer ces differences, par contre la methode qui est "collée" a l'objet n'a a gerer que cette sorte d'objet
par ex: function stringify( anyobj ) { /* block de code si l'objet est une Array */ /* block de code si l'objet est un number*/ etc... }
Array.prototype.toString = function() { /* block de code pour transformer cet objet en string */ }
Number.prototype.toString = function() { /* block de code pour transformer cet objet en string */ }
la "superiorité" si on peut appeler ca comme ca, c'est de pouvoir séparer les responssabilités d'une maniere clair et logique
"toString" est responssable de transformer en string un objet un objet Array est responssable de gerer des tableaux un objet Number est responssable de gerer des nombres etc...
une fonction comme "stringify" serait responssable de "trop" de choses: - reconnaitre le type de l'objet de tous les objets - choisir le bon processus pour passer ce type d'objet en string
le probleme avec ca c'est le probleme de gestion du code si en cours de developpement de nouveaux types d'objets sont definis
le fait d'utiliser des methodes deviendra "superieur" quand le code deviendra complexe car il permettra de separer la gestion du code en plusieurs petits bouts de code définis par objets plutot que d'avoir un tres gros block de code dans une seule fonction
mais apres c'est plus un avantage de la Programmation Orienté Objet (POO) qu'une reele opposition entre methode et fonction
par définition: une methode c'est une fonction definit dans un objet
la vraie question serait plutot quels sont les avantages de la POO par rapport a la programmation procédurale, et ca tout dépends de comment tu penses ton code
pour certains il est plus clair de gerer des abstraction d'objets
pour d'autres il est plus simple de gerer des executions de procedures les unes a la suite des autres
je pense plutot que la POO est "superieure" en general, mais pas partout et pas tout le temps..tout depends du contexte.