2016-09-18 1 views
1

quelqu'un peut me expliquer ce qui est POGO dans groovy et est-il une différence entre POGO et POJO en java?Qu'est-ce que Pogo groovy

+1

Premier résultat google f groovy + POGO: https://www.accelebrate.com/blog/call-pogo-name/ – jalopaba

Répondre

0

C'est juste un objet Groovy Plain Old. Même idée de base Vous pouvez les utiliser de façon interchangeable.

0

POGO: - Plain Old Groovy objet, en Groovy il est nommé comme POGO, sinon il est le même que POJO: - Plain Old Java Object. Les deux sont identiques.

2

Un Groovy POGO n'ont un comportement différent à un Java POJO, à savoir:

  1. accesseurs implicites pour toutes les propriétés
  2. Quelles sont, quel que soit le public modificateur d'accès typé
  3. Ils comprennent metaprogramming plus sophistiqués fonctionnalités que Java
  4. Et les constructeurs par défaut nommés basés sur la carte
+0

# 4 applique la même chose aux classes Java et Groovy. Le contenu du constructeur basé sur la carte est imposé à la fin de l'appel, pas dans la classe en cours d'instanciation. –

+0

# 2 semble suggérer que si vous faites quelque chose comme 'protected someProperty' ou' private someProperty' que le champ sera public, ce qui n'est pas vrai. Le champ sera 'protected' ou' private' comme spécifié. Ce qui donne l'impression que c'est public est Groovy vous permet d'accéder à ces membres directement à partir de n'importe quelle classe Groovy, mais ils sont toujours 'protected' ou' private'. Inspectez le code octet généré pour le vérifier. Cette distinction est importante car le champ 'private' défini dans une classe Groovy ne peut toujours pas être accédé directement depuis Java sans utiliser' setAccessible'. –