next up previous contents index
Next: Types primitifs Up: Les types Previous: Typer les expressions

Sûreté et sous-typage

Ces deux notions de typage -- des données et des expressions -- ne sont pas indépendantes. En refusant d'emblée des expressions mal typées, elles permettent d'éviter certaines erreurs qui se produiraient à l'exécution. En effet, si le compilateur détermine qu'une expression a un certain type, et si cette expression est ensuite évaluée, la sûreté du typage est une propriété du langage qui assure que :

Cette dernière notion, de compatibilité des types, mérite d'être approfondie. Considérons par exemple les nombres entiers et les nombres flottants. Un mathématicien, familier de la théorie des ensembles, sachant que l'ensemble des entiers est inclus dans l'ensemble des réels, à qui l'on demande de citer un nombre réel, n'hésitera pas à répondre 12 ; l'informaticien lui fera remarquer que 12 est un entier et que 12.0 est un flottant, que ces deux constantes appartiennent à des types distincts (en Java, int et double), mais acceptera cependant 12 comme un flottant. Inversement, ni le mathématicien ni l'informaticien n'accepterait 12.3 comme un entier. On caractérise la relation entre ces types entiers et flottants en disant que int est un sous-type de double, mais double n'est pas un sous-type de int. Cette relation, dite de sous-typage , déjà commode pour les différents types numériques, s'avère encore plus importante pour les types d'objet : pour dire, par exemple, que les rectangles sont des formes géométriques, on fera du type Rectangle un sous-type du type Forme.



next up previous contents index
Next: Types primitifs Up: Les types Previous: Typer les expressions
R. Lalement
2000-10-23