On peut affecter à un champ ou une variable d’un type donné une expression de type moins élevé dans la hiérarchie des types. De même, une méthode ou un constructeur attendant un argument d’un type donné peut recevoir en argument effectif une expression de type moins élevé que celui indiqué dans sa déclaration. L’expression fournie sera dans ce cas automatiquement convertie en le type attendu, sans que l’utilisateur ait besoin d’expliciter cette conversion. Toute tentative de conversion implicite d’un type vers un type qui n’est pas plus haut dans la hiérarchie des types déclenchera une erreur au moins à l’exécution, ou dès la compilation si elle est détectable statiquement.

« Retour à l'index du dictionnaire