À retenir
- C'est une variable liée à un objet précis et non à la classe entière.
- Elle stocke l'état ou les caractéristiques d'un objet.
- Elle est principalement associée à l'univers du développement Objective-C.
Une ivar est une variable qui appartient à une instance spécifique d'un objet. Pour mieux comprendre, imaginez un moule à gâteaux (la classe) : l'ivar correspondrait au parfum choisi pour un gâteau précis (l'instance) sorti de ce moule.
Étymologie
Il s'agit de la contraction de l'anglais Instance Variable. Ce terme est devenu très courant avec le langage Objective-C, pilier historique du développement chez Apple (macOS et iOS).
Exemples d'usage
- En Objective-C, déclarer une variable
int _vitesse;dans l'interface d'une classe pour stocker l'allure d'un véhicule. - Stocker le nom d'un utilisateur dans un objet
ProfilUtilisateurpour qu'il soit conservé durant toute la session.
Cas d'usage
On l'utilise en programmation orientée objet pour sauvegarder les données internes qui définissent l'état d'un objet. Elle permet à chaque objet d'avoir ses propres valeurs, indépendamment des autres objets de la même catégorie.
Bonnes pratiques
Il est recommandé de ne pas manipuler les ivars directement depuis l'extérieur de l'objet. On préfère généralement passer par des propriétés (getters et setters), ce qui permet de mieux sécuriser et contrôler l'accès aux données.
Synonymes
Antonymes
Conseil
Si vous apprenez le développement pour iPhone ou Mac, ne confondez pas l'ivar avec la variable locale : l'ivar survit tant que l'objet existe, alors qu'une variable locale disparaît dès que la fonction se termine.
Questions fréquentes
Quelle est la différence entre une ivar et une propriété ?
L'ivar est l'espace de stockage brut (la boîte), tandis que la propriété est l'interface publique qui permet d'accéder à cette boîte de façon sécurisée.
Pourquoi les ivars commencent-elles souvent par un tiret bas (_) ?
C'est une convention de nommage fréquente pour indiquer que la variable est privée et destinée uniquement à un usage interne par l'objet.