În programarea orientată pe obiecte, un wrapper peste un tip non-obiect ( tip boxed ) este un tip de date obiect conceput pentru a stoca o valoare a unui tip non-obiect. De exemplu, în Java , o clasă Integereste un superset de tip primitiv int.
În multe limbi, wrapper-urile sunt incluse în sintaxa limbii. Apoi, dacă funcția necesită Integersau Object, va „împacheta” automat numărul într-un tip de ambalaj. De exemplu, în codul Java
void someFunc ( Object x ) {} someFunc ( 4 );echivalent cu codul
someFunc ( Integer . valueOf ( 4 ));Aceasta este rotirea automată. În mod similar, extinderea automată funcționează în cod
int x = 1 + Integer . valueOf ( 2 );Aici tipul este Integerextins înapoi la int.
Atât Java, cât și C# Objectnu se extind înapoi la int: astfel, următorul cod va duce la o eroare
Obiect x = Integer . valueOf ( 2 ); int y = x ; // eroare de tiparTipuri de date | |
---|---|
Ininterpretabil | |
Numeric | |
Text | |
Referinţă | |
Compozit | |
abstract |
|
Alte | |
subiecte asemănătoare |