Public

Définition, exemples et bonnes pratiques

À retenir

  • Visibilité maximale : accessible partout dans le programme.
  • Élément de base de l'interface d'un objet.
  • À utiliser avec parcimonie pour éviter que n'importe quelle partie du code ne vienne corrompre vos données.

En programmation, le terme public désigne un élément (variable, fonction ou classe) qui est librement accessible depuis n'importe quelle autre partie du code. C'est comme une place de village où tout le monde peut circuler et voir ce qui s'y trouve, par opposition à un coffre-fort privé dont l'accès est limité.

Étymologie

Issu du latin publicum (ce qui appartient au peuple) et de populus (le peuple), ce mot a conservé son sens d'ouverture à tous. En informatique, il est devenu un mot-clé standardisé avec l'apparition de la programmation orientée objet dans les années 80 pour définir les droits d'accès aux composants d'un logiciel.

Exemples d'usage

  • En Java ou C#, une méthode public void demarrer() peut être appelée par n'importe quel autre objet du système.
  • Une variable public score dans un jeu vidéo permet à tous les scripts (affichage, sons, statistiques) de lire et modifier le score du joueur.

Cas d'usage

On utilise ce concept principalement dans la programmation orientée objet (POO). Il sert à définir l'interface d'un composant, c'est-à-dire la partie visible que les autres développeurs peuvent utiliser sans avoir besoin de connaître les détails internes de fonctionnement.

Bonnes pratiques

Le piège classique est de tout mettre en public par facilité. La bonne pratique veut que l'on reste restrictif : on cache les données internes (en private) et on ne rend public que le strict nécessaire pour garantir la sécurité et la stabilité du code. C'est le principe d'encapsulation.

Synonymes

accessible exposé ouvert

Antonymes

privé protégé interne restreint

Conseil

Si vous débutez, essayez de toujours commencer par déclarer vos variables en 'privé'. Ne les passez en 'public' que si vous réalisez qu'une autre partie du programme a absolument besoin d'y accéder directement.

Questions fréquentes

Pourquoi ne pas tout mettre en public ?

Si tout est public, une erreur dans une petite partie du programme peut accidentellement modifier des données importantes ailleurs, rendant le débogage très difficile.

Quelle est la différence avec 'private' ?

Un élément 'private' n'est visible que dans le fichier ou la classe où il est créé, alors qu'un élément 'public' traverse toutes les frontières du code.