article Related Topics:
Types :: Typewriters :: Type_O_Negative :: Type_System :: Typesetting :: Types_of_Media :: Type_3 :: Type_4 :: Type_1 :: Type_2
 

En programmation un type de données, ou simplement type, définit le genre de contenu d'une donnée et les opérations pouvant être effectuées sur la variable correspondante.

Types de données


Types prédéfinis

Tous les langages de programmation offrent des types de bases correspondant aux données pouvant être traitées directement par le processeur:
les caractères, qui sont parfois considérés comme des entiers de 8 bits non signés

Les langages permettant un accès direct à la mémoire du système offrent par ailleurs un type pointeur.

Beaucoup offrent également un type prédéfini (string) pour les chaînes de caractères, les langages de haut niveau pouvant également supporter nativement des type correspondant à d'autres structure de données.

Types paramétrés

Par exemple la déclaration des pointeurs ou les tableaux en langage C nécessite de préciser le type de base des données manipulées. La programmation générique étend cette pratique pour permettre à l'utilisateur de créer ses propres types paramètrés.

Types énuméré

Des langages permettent à l'utilisateur de définir des types spécifiques à son application. Les types énumérés, permettant d'affecter à une variable un nombre fini de valeurs possibles, par exemple :

type couleur:{rouge, bleu, vert}; var c:couleur; // la variable c, du type couleur, peut prendre les valeurs // rouge, bleu ou vert uniquement.

Types composés

Les types composés (struct en C) permettant de grouper plusieurs champs de types distincts dans une seule variable La programmation objet nomme classe un type composé associé à du code spécifique à la manipulation de variables de ce type.

Types hiérarchiques

La programmation orientée objet étend le paradigme précédent en organisant hiérarchiquement les classes de telle manière qu'une variable d'une sous classes puisse être utilisée de manière transparente à la place de n'importe quelle classe située au dessus d'elle dans la hiérarchie. Le langage Ada 83 est un exemple célèbre de langage objet ne supportant la notion de type hiérarchique, il permet la programmation basée objet.

Typage


Typage statique et typage dynamique

L'information de type peut être portée par la variable (typage statique) ou par la valeur manipulée par cette variable (typage dynamique). Les langages à typage statique nécessite en général la déclaration préalable des variables utilisées pour permettre au compilateur de connaître son type exact. Les langages supportant l'inférence de types peuvent dans certain cas rendre cette déclaration facultative.

En réalité les deux ne sont pas antinomiques, et de nombreux langages qui sont qualifiés de langages à typage statique car ils imposent la déclaration préalable du type des variables, supportent également le typage dynamique. On peut penser par exemple aux vtables du langage C ++. Cette fonctionnalité est en effet nécessaire pour pouvoir supporter la programmation orientée objet.

Typage fort et typage faible

La sûreté du typage est destiné à prévenir les erreur de types: l'emploi d'une variable dont le format est incompatible. La définition d'un langage fortement typés est assez floue:

  • pour certain elle est à rapprocher de celle de langage à typage statique: le compilateur permettant la détection au plus tôt des erreurs de type;
  • d'autres préfèrent juger de la force du typage d'un langage selon les conversions de types implicites qu'il autorise.

Avec cette dernière approche, on pourrait par exemple obtenir le classement suivant:

Typage Fort Faible
Statique Ada Langage C : short add ( int x, int y) { return x+y; }
Dynamique Ruby JavaScript : "2"+4→"24"

Voir aussi


Typage

Tipu de datu | Datový typ | Datentyp | Data type | Tipo de dato | Adattípus | Tipo di dato | データ型 | Duomenų struktūra | Gegevenstype | Dynamiczne typowanie | Tipo de dado | Тип данных | Dátový typ | Podatkovni tip | Datatyp

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Type".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld