Непрозорий тип даних

Матер?ал з В?к?пед?? ? в?льно? енциклопед??.
Перейти до нав?гац?? Перейти до пошуку

Непрозорий тип даних  ? тип даних у ?нформатиц? , чия структура даних не задана в його ?нтерфейс? . Такий тип посилю? приховування ?нформац?? , оск?льки його значення можуть бути використан? т?льки п?дпрограмами , що мають доступ до в?дсутньо? ?нформац??.

Непрозор? типи даних часто застосовуються для реал?зац?? абстрактних тип?в даних .

Типи даних, чия структура даних ? видимою, називаються прозорими типами даних .

Загальнов?домими прикладами непрозорих тип?в даних ? дескриптори та ресурси операц?йно? системи , що надаються прикладн?й програм? . Наприклад, POSIX Threads визнача? прикладний програмний ?нтерфейс , що використову? непрозор? типи даних для представлення нитей виконання та прим?тив?в синхрон?зац?? таких як м'ютекси та умовн? зм?нн? .

Непрозорий вказ?вник  ? ? частковим випадком непрозорого типу даних. Це вказ?вник на запис чи структуру даних не описаного типу. Наприклад, стандартна б?бл?отека, яка ? частиною специф?кац?? мови програмування C , для вводу/виводу у файл використову? вказ?вник на FILE , конкретна реал?зац?я якого не задана.

У р?зних мовах програмування

[ ред. | ред. код ]

Деяк? мови програмування, так? як C, можуть описувати непрозор? типи даних, поля ? розм?р яких прихован? в?д кл??нт?в. Кл??нт може т?льки отримати адресу для об'?кта цього типу ? утворити непрозорий вказ?вник.

Якщо ?нтерфейс дозволя? визначити розм?р типу, то кл??нти можуть вид?ляти пам'ять ? коп?ювати так? об'?кти.

У мов? Java непрозорими типами можуть бути т?льки непрозор? вказ?вники.

Деяк? мови програмування дозволяють визначати частково непрозор? типи. Деяк? пол? можуть бути в?дкритими, а вс? ?нш? схованими. Це одна ?з основ для об'?ктно-ор??нтованого програмування .

Л?тература

[ ред. | ред. код ]
  • Friedman, Daniel P. ; Wand, Mitchell ; Haynes, Christopher T. (2001). Essentials of Programming Languages (вид. 2nd). MIT Press. с. 42. ISBN   978-0-262-06217-6 .