Часть II. Объектно-ориентированное программирование
Рис. 11.3.
Сборка приложения по работе с двумя интерфейсами из главы 10
Пространства имен
Пространство
имен
(namespace) — концепция, позаимствованная из
C++ и позволяющая обеспечить уникальность всех имен, используемых
в конкретной программе или проекте.
Если вы, например, состоите в группе разработчиков некоторого круп-
ного проекта и создаете свой модуль, то вам не обязательно заботиться
о наименовании переменных в этом модуле, о том, что когда все разра-
ботчики начнут собирать свои модули в единый проект, появятся пере-
менные с одинаковыми именами и разным смыслом, начнется путаница,
и проект станет неработоспособным. Концепция пространства имен как
раз и обеспечивает независимую разработку модулей одного проекта,
потому что каждый разработчик может объявить свое личное простран-
ство имен и в нем называть переменные по своему усмотрению. А об-
Глава 11. Сборки, манифесты, пространства имен…
215
щий проект будет указывать, что он использует такое-то пространство
имен, чтобы работать с таким-то модулем. Компилятор просто в этом
случае к каждому внутреннему имени добавляет имя пространства имен
и тем делает совпадающие имена в разных пространствах различными.
Такая же история и с библиотеками классов в C#. Классы создавались
разными разработчиками и могут иметь совпадающие имена (да так оно
и есть на самом деле: например, классов
Timer
в .NET Framework насчи-
тывают три единицы). Поэтому классы разделены: они сгруппированы
по своим функциональным свойствам и распределены по разным име-
нованным пространствам, главным из которых является пространство
System
.
Более 90 пространств имен, определенных в .NET Framework, начина-
ются со слова
System
.
Как создать себе свое пространство имен? По синтаксису:
namespace
Имя
{
class
имя
{
...
}
...
}
Внутри пространства имен вы можете объявить один и более следую-
щих типов:
другое пространство имен;
класс;
интерфейс;
структуру.
Вообще тогда при обращении к какому-то классу при таком подходе
надо указывать всю цепочку названий пространств, в которую входит
данный класс, т. к. пространства составляют некую иерархию и назва-
ния пространств довольно длинные. Но если применить ключевое слово
using
(используя) перед составным именем пространства, в котором
находятся нужные нам классы, то это пространство имен можно не вво-
дить при обращении к его классам.
Некоторые пространства имен среды .NET приведены в табл. 11.1.
216
Do'stlaringiz bilan baham: |