Именски простор (информатика) — разлика између измена

Садржај обрисан Садржај додат
Ред 29:
 
=== Јава ===
У [[Јава (програмски језик)|Јава програмском језику]] идеја именског простор је отелотворена у [[Јава пакетима]]. Сав код припада пакету, мада тај пакет не мора бити изричито именован. Коду из других пакета приступа се стављањем имена пакета пре одговарајућег идентификатора, на пример <code>class String</code> у <code>package [[java.lang]]</code> може се навести као <code>java.lang.String</code> (ово се назива потпуно [[квалификована имена класа|квалификованим именима класа]]. Попут -{C++}-, Јава нуди конструкт који чини унос имена пакета непотребним <code>import</code>. Међутим, неке функције (као што је [[одраз)]] захтевају да програмер користи у потпуности квалификовано име.
 
За разлику од -{C++}- именски простори у Јави нису хијерархијски што се тиче синтаксе језика. Међутим, пакети су именовани на хијерархијски начин. На пример, сви пакети који почињу са <code>java</code> део су [[Јава платформа-пакета]] {{Javadoc:SE|package=java.lang|java/lang}} који садржи основне класе језика, а {{Javadoc:SE|package=java.lang.reflect|java/lang/reflect}} садржи класе које се посебно односе на рефлексију.
 
У Јави (као и у [[Ада|Ади]], -{[[C#]]}-, и другим језицима), именски простори / пакети изражавају семантичке категорије кода. На пример, у -{C#}-, <code>namespace System</code> садржи кoд који је обезбедио систем ([[.NET Framework|.-{NET}- фрејмворк]]). Колико специфичне су ове категорије и колико дубоко иду хијерархије разликује се од језика до језика.