certification java

OCPJP 6 – Jour 1 – Identificateurs, conventions de nommage & JavaBeans

Dans ce chapitre, nous distinguerons trois aspects des identificateurs Java : les identificateurs légaux (valides pour le compilateur), les conventions de nommage établies par Sun et les conventions JavaBeans.

1.1 – Identificateurs légaux

Un identificateur est une suite de caractères servant à désigner les différentes entités manipulées par un programme : variables, fonctions, classes, objets…

En Java, les identificateurs :

  • commencent obligatoirement par une lettre (A..Z ou a..z), un caractère souligné « _ » ou un caractère « $ »
  • après le premier caractère, ne peuvent contenir que des caractères alphanumériques (A..Z, a..z et 0..9) et les caractères « _ » et « $ »
  • n’ont aucune limitation en nombre de caractères
  • ne peuvent être des mots-clés réservés au langage Java
  • sont sensibles à la casse.

Identificateurs valides

Identificateurs invalides

Les mots-clés du langage Java

abstractassertbooleanbreakbytecasecatch
charclassconst*continuedefaultdodouble
elseenumextendsfalsefinalfinallyfloat
forgoto*ifimplementsimportinstanceofint
interfacelongnativenewnullpackageprivate
protectedpublicreturnshortstaticstrictfpsuper
switchsynchronizedthisthrowthrowstransienttrue
tryvoidvolatilewhile

*Ces mots-clés n’ont aucune utilité mais demeurent des mots réservés.

1.2 – Conventions d’écritures

Sun a créé des standards d’écriture du code Java (Java Code Conventions). Il n’est bien sûr pas obligatoire de les suivre mais hautement recommandé pour des raisons de lisibilité et de compréhension lors d’une future maintenance par exemple. La plupart des entités (classe, interface, méthode et variable) doivent respecter les règles du camelCase.

Classes et interfaces :

  • La première lettre doit être en majuscule et le reste en minuscule
  • La première lettre de chaque mot interne doit être en majuscule
  • Le nom de la classe doit être simple et descriptif (en évitant les acronymes et les abréviations)

Méthodes :

  • La première lettre doit être en minuscule
  • La première lettre de chaque mot interne doit être en majuscule
  • La nomenclature doit être une combinaison d’un verbe et d’un nom

Variables :

  • La première lettre doit être en minuscule
  • La première lettre de chaque mot interne doit être en majuscule
  • La nomenclature doit être courte et descriptive

Constantes :

  • Toutes les lettres doivent être des majuscules
  • Le séparateur des mots internes doit être un underscore « _ »

1.3 – JavaBeans

Souvent raccourci en « bean », un JavaBean désigne tout simplement un composant réutilisable. Il est construit selon certains standards, définis dans les spécifications de la plate-forme et du langage Java eux-mêmes. Un composant JavaBean est une simple classe Java qui respecte certaines conventions de nommage. Le respect de ces conventions rend possible l’utilisation, la réutilisation, le remplacement et la connexion de JavaBeans par des outils de développement.

Pourquoi un JavaBean ?

  • Les propriétés : un JavaBean est conçu pour être paramétrable. On appelle « propriétés » les champs non publics présents dans un JavaBean. Qu’elles soient de type primitif ou des objets, les propriétés permettent de paramétrer ce bean, en y stockant des données.
  • La réutilisation : un bean est un composant conçu pour être réutilisable. Ne contenant que des données ou du code métier, un tel composant n’a en effet pas de lien direct avec la couche de présentation, et peut également être distant de la couche d’accès aux données (modèle de conception DAO). C’est cette indépendance qui lui donne ce caractère réutilisable.
  • La sérialisation : la sérialisation permet de rendre un objet persistant. Ce processus permet de sauvegarder l’état d’un bean, et donne ainsi la possibilité de le restaurer par la suite.
  • L’introspection : l’introspection (aussi appelée réflexivité) est un mécanisme qui permet de connaître le contenu (propriétés, méthodes et évènements) d’une classe dynamiquement. Il permet notamment de savoir ce que contient une classe sans en avoir les sources. Ces mécanismes sont largement utilisés dans les IDE (Eclipse, Netbeans, etc.).

Conventions JavaBeans

Un composant JavaBean est une simple classe Java qui respecte certaines conventions sur le nommage, la construction et le comportement des méthodes. Le respect de ces conventions rend possible l’utilisation, la réutilisation, le remplacement et la connexion de JavaBeans par des outils de développement.

Les conventions à respecter sont les suivantes :

  • Un JavaBean doit être une classe publique
  • Un JavaBean doit avoir au moins un constructeur par défaut, public et sans paramètres
  • Un JavaBean peut implémenter l’interface Serializable, il devient ainsi persistant et son état peut être sauvegardé
  • Méthodes :
    • Toutes les méthodes du JavaBean doivent être publiques
    • Les fonctions mutateurs (ou setters) doivent avoir comme préfixe set suivies du nom de la propriété commençant par une majuscule. Elles prennent en argument un objet du type de la propriété et ne retournent aucune valeur (void). Ex : setSize() pour la propriété size
    • Les fonctions accesseurs (ou getters) doivent avoir comme préfixe get (is pour un booléen) suivies du nom de la propriété commençant par une majuscule. Elles ne prennent aucun argument en paramètre et retournent un objet du même type que la propriété. Ex : getSize() pour la propriété size
  • Evènements (souvent utilisés dans les interfaces graphiques pour intercepter les actions de l’utilisateur) :
    • Tous les évènements du JavaBean doivent être publics
    • Les méthodes d’ajout de listeners doivent être préfixées par add suivies du type du listener de la façon suivante : public void add<ListenerType>(<ListenerType> listener)
    • Les méthodes de suppression de listeners doivent être préfixées par remove suivies du type du listener de la façon suivante : public void remove<ListenerType>(<ListenerType> listener)

Signatures de méthodes valides

Signatures de méthodes invalides

Exemple de JavaBean :


Auteur
AuteurEdouard WATTECAMPS

0 réponses

Répondre

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *