Neprůhledný datový typ - Opaque data type
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
v počítačová věda, an neprůhledný datový typ je datový typ jehož beton datová struktura není definován v rozhraní. To vynucuje skrývání informací, protože jeho hodnoty lze manipulovat pouze voláním podprogramy kteří mají přístup k chybějícím informacím. Konkrétní znázornění typu je před jeho uživateli skryto a viditelná implementace je neúplná. Volá se datový typ, jehož reprezentace je viditelná průhledný.[1] K implementaci se často používají neprůhledné datové typy abstraktní datové typy.
Mezi typické příklady neprůhledných datových typů patří rukojeti pro zdroje poskytuje operační systém na aplikační software. Například POSIX standard pro vlákna definuje aplikační programovací rozhraní na základě řady neprůhledných typů, které představují vlákna nebo synchronizační primitiva jako mutexy nebo stavové proměnné.[2]
An neprůhledný ukazatel je speciální případ neprůhledného datového typu, datového typu, který je deklarován jako ukazatel do a záznam nebo datová struktura nějakého nespecifikovaného datového typu. Například standardní knihovna který je součástí specifikace Programovací jazyk C. poskytuje funkce pro soubor vstup a výstup které vracejí nebo přijímají hodnoty typu "ukazatel na" SOUBOR
"které představují souborové toky (viz Vstup / výstup souboru C. ), ale konkrétní implementace typu SOUBOR
není specifikováno.[3]
Používá se v různých jazycích
Některé jazyky, například C, povolit prohlášení o neprůhlednosti evidence (struktury), jejichž velikost a pole jsou před klientem skryty. Jediná věc, kterou může klient s objektem takového typu udělat, je vzít si jeho adresa paměti, k výrobě neprůhledný ukazatel.
Pokud jsou informace poskytované rozhraním dostatečné k určení velikosti typu, mohou klienti deklarovat proměnné, pole, a pole tohoto typu, přiřadit jejich hodnoty a případně je porovnat pro rovnost. To je obvykle případ neprůhledných ukazatelů.
V některých jazycích, například Jáva, jediný poskytovaný neprůhledný typ je neprůhledný ukazatel. Ve skutečnosti jsou v Javě (a několika dalších jazycích) záznamy vždy zpracovávány pomocí ukazatelů.
Některé jazyky umožňují částečně neprůhledné typy, např. záznam, který nějaké má veřejnost pole, známá a přístupná všem klientům, a některá skrytý pole, která se v rozhraní neodhalí. Tyto typy hrají zásadní roli v objektově orientované programování.
Informace, které v rozhraní chybí, mohou být deklarovány v jeho implementace, nebo v jiném rozhraní „pouze pro přátele“. Tato druhá možnost umožňuje sdílení skrytých informací dvěma nebo více moduly.
Viz také
Reference
- ^ Friedman, Daniel P.; Hůlka, Mitchell; Haynes, Christopher T. (2001). Základy programovacích jazyků (2. vyd.). MIT Stiskněte. p. 42. ISBN 978-0-262-06217-6.
- ^ Butenhof, David R. (1997). Programování pomocí POSIX vláken. Addison-Wesley. p. 31. ISBN 978-0-201-63392-4.
- ^ Kernighan, Brian W.; Ritchie, Dennis M. (1988). Programovací jazyk C. (2. vyd.). Prentice Hall. ISBN 0-13-110362-8.
![]() | Tento počítačová věda článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |