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

Садржај обрисан Садржај додат
Ред 28:
Именски простори у -{C++}- најчешће се користе како би се избегле [[именска колизија|колизије именовања]]. Иако су именски простори у широкој употреби у скорашњем -{C++}- коду, већина старијег кода не користи ову погодност. На пример, цела -{C++}- стандардна библиотека дефинисана је у оквиру <code>namespace std</code>, а пре стандардизације многе компоненте су првобитно биле у глобалном именском простору.
 
=== Јава ===
У [[Јава (програмски језик)|Јава програмском језику]] идеја именског простор је отелотворена у [[Јава пакетима]]. Сав код припада пакету, мада тај пакет не мора бити изричито именован. Коду из других пакета приступа се стављањем имена пакета пре одговарајућег идентификатора, на пример <code>class String</code> у <code>package [[java.lang]]</code> може се навести као <code>java.lang.</code><code>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}- фрејмворк]]). Колико специфичне су ове категорије и колико дубоко иду хијерархије разликује се од језика до језика.
 
[[Функција]] и [[обим класа ]] може се посматрати као имплицитни именски простори који су нераскидиво повезани са видљивошћу, доступношћу и [[животним веком објекта.]]
 
== -{XML}- именски простор ==