Programmation C sharp/Les objets
Un livre de Wikibooks.
Un objet est un type référence. Il s'agit d'une instance de classe.
[modifier] Le type object
La classe System.Object est équivalente au type object. Il s'agit de la classe de base de toutes les autres classes.
L'auto-boxing/unboxing permet d'utiliser le type object pour n'importe quel type de valeur :
object obj; obj = 10; // int -> Int32 -> object obj = "Une chaîne"; // string -> String -> object
[modifier] Créer un nouvel objet
Créer un nouvel objet est appelé instancier une classe et utilise l'opérateur new :
classe variable=new classe(arguments...);
Cet opérateur effectue les opérations suivantes :
- allocation d'une zone mémoire d'une taille suffisante pour accueillir les attributs définis dans la classe spécifiée,
- initialisation des attributs à leur valeur par défaut (définie dans la classe ou 0 sinon),
- appel au constructeur acceptant les arguments spécifiés.
L'appel peut échouer pour plusieurs raisons :
- la classe spécifiée n'a pas pu être chargée,
- l'espace mémoire libre est insuffisant,
- une exception a été lancée par le constructeur.
Dans tous les cas une exception est lancée.
