Qu'est-ce qu'un objet immuable?

En programmation orientée objet, un objet immuable est un objet dont les propriétés ne peuvent plus être modifiées après sa création. La plupart des objets, en revanche, sont des objets mutables, ce qui signifie que tout ou partie de leurs propriétés peuvent être librement modifiées après la création. Divers langages informatiques permettent de créer des objets immuables, notamment Java, C ++, erlang, Tcl et scala.

Un objet immuable peut être créé de deux manières: en créant une classe immuable par définition ou en déclarant explicitement qu'un objet autrement modifiable est immuable. La méthodologie pour créer une classe immuable varie en fonction du langage informatique utilisé. Quel que soit le langage utilisé, une classe immuable ne doit avoir aucune méthode qui puisse modifier ses données internes ni aucun moyen de changer de méthode - c'est-à-dire surchargée ou surchargée - d'une manière qui modifierait ses données internes. C'est la plus compliquée des deux approches. Par contre, pour créer un objet immuable à partir d'un objet autrement modifiable, on peut souvent appliquer un mot clé pour désigner cet objet comme étant immuable.

À titre d'exemple, la création d'objet immuable en Java repose largement sur le mot clé "final". Un moyen rapide de rendre une classe immuable en Java consiste à déclarer la classe, ainsi que toutes ses méthodes et membres de données, final. Une stratégie similaire peut également être utilisée en C ++ avec le mot clé "const". Ces approches, selon le contenu de la classe, pourraient ne pas être les meilleures, cependant. En général, les objets peuvent être rendus immuables par une maintenance minutieuse de leurs données internes.

Créer un objet immuable à l'aide d'un mot clé, comme dans l'exemple ci-dessus, est souvent beaucoup plus facile que d'écrire une classe entière comme étant immuable. L'utilisation de cette approche présente toutefois des dangers. Lors de la désignation explicite d'un objet immuable de cette manière, il est important que le programmeur s'assure que toutes les propriétés et données appropriées ont été incorporées en premier dans l'objet. Compter sur un objet incomplet peut être dangereux, notamment s'il manque un élément d'information essentiel.

Si un objet est modifiable, mais nécessite la création correcte de données immuables, vous devez initialiser ces données avant de créer l'objet modifiable. Les objets immuables sont toujours immuables, qu'il s'agisse de valeurs de données ou d'objets volumineux, et doivent toujours être traités comme tels. En général, un objet immuable ne peut pas être rendu mutable après sa création, bien qu'il puisse parfois être copié en tant qu'objets mutables. On peut généralement supposer qu'un objet immuable et ses copies sont également immuables, ce qui peut éviter des problèmes de données ou de mémoire.

DANS D'AUTRES LANGUES

Cet article vous a‑t‑il été utile ? Merci pour les commentaires Merci pour les commentaires

Comment pouvons nous aider? Comment pouvons nous aider?