-Anatomie et physiologie • Animaux et l'environnement • culture generale • economie • flore et ses bienfaits • Internet et Informatique • L'alimentation et la nutrition • La Biologie • Le mésothéliome • Les épices • Les fruits et légumes • Les vitamines • Maladies & Affections • Médecine et traitements • Médicaments • monde technologique • remèdes naturels • Santé et Bien-être • sciences et génie -orange

lundi 8 avril 2013

Qu'est-ce qu'une classe interne anonyme?

Une classe interne anonyme est une classe qui est déclarée à l'intérieur d'une méthode, mais n'a pas de nom. Une classe interne anonyme a plusieurs restrictions qui la rendent différente d'une classe normale, y compris une restriction à la portée des variables auxquelles il peut accéder. Il y a quelques situations très particulières dans lesquelles utilisant une classe interne anonyme peut rendre le code source plus lisible, mais il est principalement utilisé pour aider à appliquer encapsulation où la génération de classes distinctes pourrait compliquer les choses.

L'encapsulation est le concept de la programmation orientée objet (POO) qu'un objet et ses composants doivent être en quelque sorte protégé et lié à l'objet. Les classes internes anonymes, et les classes internes en général, aident à réaliser l'encapsulation des objets particulièrement complexes. Au lieu d'avoir à créer une classe qui repose sur un contrat distinct externe, qui les lie artificiellement et potentiellement exposer certaines des composantes, une classe interne anonyme peut lier les deux ensembles solidement.

Dans certains langages de programmation, une classe interne anonyme peut aider à surmonter les restrictions de l'héritage unique. Si un objet hérite d'une classe, mais doit ensuite accéder à un autre, une classe interne peut être généré à la volée, puis transmises aux gestionnaires appropriés. Cette technique est commune avec les rappels et les écouteurs d'événements. La seule alternative serait de créer une classe toute la seconde où seulement une ou deux méthodes sont ignorées.

Les classes internes anonymes ont imposé des restrictions en place pour empêcher la rupture d'encapsulation et de faire respecter la portée. La restriction principale est qu’une classe interne anonyme ne peut pas accéder aux variables de la méthode dans laquelle elle réside à moins que ces variables soient déclarées comme définitives. C'est parce que la classe interne peut continuer à fonctionner au-delà de la durée de vie de la classe et de la méthode dans laquelle elle niche. Les variables de la classe d'emballage serait détruit une fois que sa vie était finie, alors les références de la classe interne a tenu deviendrait instantanément invalide. La seule exception à cette règle est une variable final, car il existe au-delà de l'instance.

Une des utilisations les plus spécifiques pour une classe interne anonyme est la protection du code. De nombreux langages de POO prévoir un mécanisme appelé réflexion. La réflexion permet à un programme de disséquer une autre classe et voir ce que ses variables membres et les méthodes sont, mais pas le code lui-même. En utilisant une classe interne anonyme, le contenu de la classe interne sont protégés par la réflexion et le fonctionnement interne de l'ensemble de la classe peut être efficacement masqué.