2010-09-05 5 views
1

Je me demandais les différences entre l'abstrait et l'interface dans actionscript 3 et quand les utiliser .. J'ai cherché google, mais je ne pouvais toujours pas les comprendre .... J'espère que quelqu'un ici peut me donner quelques conseils ... Merci un lot!!!Actionscript 3: Quelle est la différence entre l'interface et le résumé et quand les utiliser ..?

+0

Vous voulez dire la différence entre la classe abstraite et de l'interface? –

+0

Oui ... pour AS3 ... Merci pour l'aide – FlyingCat

Répondre

4

La différence est que l'interface est actionscript valide, mais abstraite n'est pas ...

Maintenant, dans d'autres langues que vous pouvez marquer une méthode ou une classe comme abstraite. C'est un peu comme une interface, en ce sens abstrait signifie qu'il n'a pas d'implémentation (pour une méthode) ou ne peut pas être instancié (pour une classe). Par conséquent, si une classe est abstraite, cela signifie que vous ne pouvez pas créer une instance directement (avec new), mais que vous devez étendre la classe pour accéder à ses fonctionnalités.

Une méthode abstraite s'apparente à une méthode définie dans une interface. Lorsque vous étendez une classe qui déclare une méthode abstraite, vous devez fournir une implémentation ayant la même signature, sinon votre code ne sera pas compilé. Une méthode abstraite rend le résumé de la classe automatique, car sinon vous seriez en mesure de créer une instance d'un objet qui a une méthode non implémentée. Avec une classe abstraite, vous avez certaines des caractéristiques d'une interface (c'est-à-dire que vous définissez une méthode dont l'implémentation concrète doit être fournie) mais vous pouvez également avoir d'autres méthodes qui sont implémentées et prêtes à l'emploi.

(Ceci est une explication générale, peut-être c'est un peu différent dans la langue X, mais je pense que cela vous donne l'idée de base)

+1

Yep. @Jerry par exemple vous pourriez avoir une classe Shape (à ne pas confondre avec la classe Shape réelle dans AS3). Cette classe serait un bon candidat pour une classe abstraite car elle aurait des fonctions et des propriétés partagées pour toutes ses sous-classes (par exemple Cercle, Carré). Des choses comme peut-être la couleur, la position, une fonction de dessin non implémentée. Et puisque créer une forme elle-même n'a aucun sens, vous la marquez comme abstraite, donc elle ne peut pas être initiée directement, mais seulement par un enfant comme Rectangle etc - c'est-à-dire si AS3 supporte les classes abstraites. – Allan

+0

très gentil ..... thx les gars .. – FlyingCat

Questions connexes