Разъяснение термина «Пространство имен» - PullRequest
0 голосов
/ 21 июля 2011

Мое понимание термина "пространство имен" по существу является пониманием класса; контейнер методов и переменных. Хотя это, кажется, удваивает то, что я считаю определением класса.

Может ли кто-то подтвердить или уточнить это убеждение?

Ответы [ 8 ]

3 голосов
/ 21 июля 2011

Пространство имен в основном используется для избежания конфликтов имен.Предположим, если вы класс с именем A, но этот класс может быть определен другими.так что в этом случае вам нужно отделить свой класс от других.В этом случае Namespace вступает в действие.Например: вы дали пространство имен «используя ваше имя» в этом пространстве имен, вы определили класс А., чтобы этот класс можно было отличить по вашему имени.А.Аналогично методам, переменным - все, что вы можете определить в собственном пространстве имен.

3 голосов
/ 21 июля 2011

Я бы сказал, что пространство имен - это способ логической группировки символов (классы, функции, ... в зависимости от конкретного языка, с которым вы работаете) в контейнере, который гарантирует, что эти символы не ' • сталкиваются с другими символами (которые могут иметь то же имя) в других пространствах имен.

1 голос
/ 21 июля 2011

Пространство имен используется для разных правил программирования в одном программном модуле.Допустим, вы хотите определить функцию 'string_addition' для обозначения 'string1' + 'string2' = 'string1string2', но позже в той же программе вы захотите определить 'string_addition' для обозначения 'string1' + 'string2' = 'string3».Вы можете использовать пространства имен, чтобы в одном и том же файле вы могли вызывать разные пространства имен и получать оба вида правил.

namespace h:stringadd(string1, string2) = string1string2

namespace f:stringadd(string1, string2) = string3
1 голос
/ 21 июля 2011

пространство имен предоставляет контекст для идентификатора, на который вы ссылаетесь. Таким образом, в этом смысле класс также является пространством имен.

0 голосов
/ 21 июля 2011

Пространства имен не являются особенностью ООП.Укажите язык программирования.

И, да, в целом они похожи на классы, но только те классы, которые не содержат нестатических членов (поскольку не удалось создать экземпляр пространства имен для формирования объекта ).).

0 голосов
/ 21 июля 2011

Пространство имен - это группа классов. Это становится .dll после компиляции. Таким образом, мы можем добавить этот DLL-файл в наш проект и легко использовать эти классы.

0 голосов
/ 21 июля 2011

Пространство имен - это домен, в котором данное имя остается уникальным. Например, вы можете определить много классов с именем Widget, но все они должны появляться в отдельных доменах, чтобы их можно было однозначно идентифицировать друг с другом.

Домен, в котором появляется имя, зависит от контекста, в котором оно определено. Например, в мире .NET имя класса должно быть уникальным в пространстве имен, которое само должно быть уникальным в сборке, поэтому можно сказать, что домен, в котором имя класса уникально, является пространством имен и доменом пространства имен это сборка

0 голосов
/ 21 июля 2011

В общем смысле пространство имен определяет набор имен, которые являются уникальными. Другими словами, имя уникально только в пространстве имен.

Поскольку эта концепция применима к различным языкам, существует множество вариантов, которые включают такие проблемы, как инкапсуляция, размещение имен, область видимости и т. Д.

...