Vuonna ohjelmointi , joka on tietojen tyyppi , tai yksinkertaisesti tyyppi , määrittelee luonnetta arvoista, että dataa voidaan ottaa , samoin kuin toimijat , joita voidaan soveltaa.
Useimmat korkean tason ohjelmointikielet tarjoavat perustyyppejä, jotka vastaavat tietoja, jotka prosessori voi käsitellä suoraan - nimittäin ilman edeltävää muuntamista tai muotoilua. Nämä perustyypit ovat usein:
Kielet, jotka sallivat suoran pääsyn järjestelmämuistiin, tarjoavat myös osoittimen tyypin ja tavutyypin.
Monet tarjoavat myös ennalta määritellyn tyyppistä ,, stringvarten jousille . Korkean tason kielet voivat myös tukea luonnollisesti muita tietorakenteita vastaavia tyyppejä .
Esimerkiksi osoittimien tai taulukoiden ilmoittaminen C-kielellä edellyttää, että määritetään tyyppi, jota on käytettävä käsiteltävän datan perustana. Geneerinen ohjelmointi laajentaa tätä käytäntöä, jotta käyttäjä voi luoda oman parameterized tyyppejä.
Joidenkin kielten avulla kehittäjä voi määritellä sovellukselle tyypillisiä tyyppejä. Lueteltu tyyppi luetellaan mahdolliset arvot muuttujaan. Seuraava koodi kuvaa uuden värityypin määritelmää , jota seuraa tämän tyyppisen muuttujan ilmoittaminen:
type couleur : {rouge, bleu, vert}; var c : couleur; // La variable c, du type couleur, peut prendre les valeurs // rouge, bleu ou vert uniquement.Yhdiste tyypit ( structin C , recordin Pascal ) avulla on mahdollista ryhmitellä useita aloilla eri tyyppiä samaan muuttujaan (joka sitten sisältää ”sub-muuttujat”).
In olio-ohjelmointi , luokka kutsutaan yhdiste tyyppi liittyy erityisiä koodi - määritelmää menetelmien luokka - nimenomaan sellaisten muuttujien käsittelyä tätä tyyppiä.
Olio-ohjelmointi ulottuu edellinen paradigma hierarkkisesti järjestää luokat siten, että muuttuja alaluokka voidaan käyttää läpinäkyvästi sijasta tahansa luokan korkeammalla tasolla hierarkiassa määritelty.
Läpinäkymätön tyyppi on tyyppi, joka on määritelty puutteellisesti ja / tai jonka luonne on piilotettu. Kehittäjä ei voi tarkistaa tai muokata sen sisältöä, ja hänen on yksinkertaisesti tallennettava ja lähetettävä se. Tätä tarkoitusta varten tiedetään vain läpinäkymättömän tyypin koko.
Läpinäkymättömiä tietoja ovat esimerkiksi kahvat ( Windows- terminologia ), tiedostokuvaajat ( Unix- terminologia ), avaimet , viitteet piilotettuihin rakenteisiin (esim FILE*. Tavallisesta C-kirjastosta ) jne. Ainoa ratkaiseva käsite on läpinäkymätön muuttuja on säädetty kautta oma luominen funktio (ja rakentaja tyyppi ), lähetetään on käyttäjän toimintojen (usein kautta kanavan viitataan ), ja lopuksi tuhosi kautta avaustoiminto. ( Tuhoava tyyppi ) .
Mahdollisuus saada läpinäkymättömiä tyyppejä riippuu täysin käytetystä ohjelmointikielestä.
Puhumme staattisesta kirjoittamisesta, kun suurin osa tyyppitarkastuksista tehdään käännösaikana .
Päinvastoin, puhumme dynaamisesta kirjoittamisesta, kun nämä tarkastukset suoritetaan suorituksen aikana.
Selkeällä kirjoittamisella käyttäjän on itse ilmoitettava käyttämänsä tyypit esimerkiksi ilmoitettaessa muuttujia tai funktioita.
Esimerkiksi C-kielellä kirjoittaminen on selkeä:
int i = 0; // cette déclaration indique explicitement que // la variable i est de type entierPäinvastoin, implisiittisellä kirjoitusjärjestelmällä kehittäjä jättää kääntäjän tai ajonaikaisen tehtävän määrittää itse käytettävät tietotyypit esimerkiksi päättelemällä .
Esimerkiksi Objective Caml -kirjassa kirjoittaminen on implisiittistä:
let i = 0 ;; (* le compilateur détermine automatiquement que la variable i est de type entier *)Tyypitys turvallisuus on tarkoitus estää tyypin virheiden, nimittäin: käyttö muuttuja, jonka muoto on yhteensopiva. Voimakkaasti kirjoitetun kielen määritelmä on melko epämääräinen: