Les structures
Les structures sont une reprise d’un concept des langages C et C++. Dans leurs formes C#, elles ressemblent beaucoup à des classes avec cependant une différence de taille : les structures font partie de la famille Valeur et sont donc allouées sur la pile contrairement aux classes qui sont allouées sur le tas.
Cela a deux conséquences :
-
La durée de vie de la structure comme de tout objet de type Valeur est limitée aux accolades qui l’entourent.
-
La structure ne nécessitant pas de gestion mémoire (allocation, garbage collector), elle est très performante pour des entités très petites.
Les structures n’existent pas en Java.
1. Déclaration d’une structure
Syntaxe de déclaration d’une structure
[visibilité] struct nom [:interfaces] {//implémentation } [;]
L’attribut de visibilité d’une structure définie dans un espace de noms peut être de type :
-
public : la structure sera utilisable par tous.
-
internal : la structure sera utilisable par les composants de l’assembly qui l’héberge.
Les attributs private, protected et protected internal n’ont de sens que pour les structures imbriquées. Une structure imbriquée est une structure définie dans une classe.
Précédée de l’attribut private, la structure imbriquée ne pourra être utilisée que dans sa classe hôte.
Précédée...