Главная » Просмотр файлов » Г. Шилдт - С# 3.0 Полное руководство. 2010

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 96

Файл №1160798 Г. Шилдт - С# 3.0 Полное руководство. 2010 (Г. Шилдт - С# 3.0 Полное руководство. 2010) 96 страницаГ. Шилдт - С# 3.0 Полное руководство. 2010 (1160798) страница 962019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 96)

Ниже приведен пример объявления паюеврасе для создания пространства имен соцпьег. В этом пространстве локализуется имя, используемое для реализации простого класса вычитающего счетчика СоцпЬРоип. // Объявить пространство имен лля счетчиков. паюеврасе Соцпсег ( // Простой вычитающий счетчик. с1ава Соцпгпоип ( гпп ча1/ рцЬ11с Соцпвоонп(ъпс и) ( ча1 = п; рцЬ1»с чоъд невес(1пе и) ( ча1 = и; ) рцЬ1»с ьпе Соцпв () ( 11(ча1 > О) гегцгп ча1--; е1ве гетцгп 0; ) ) ) О Это конец пространства имен Соцпвег. Обратите внимание на то, что класс соцпьпонп объявляется в пределах области действия пространства имен соцпьег.

Для того чтобы проработать этот пример на практике, поместите приведенный выше код в файл Соцпсег. сэ. Глава (6. Пространства имен, препроцессор и сборки 497 Ниже приведен пример программы, демонстрирующий применение пространства имен соппсег. // Продемонстрировать применение пространства // имен Соопгег. озкпч Яузгепи с1азз НЯОещо ( зсасгс ного Магд() ( // Обратите внимание на то, как класс Соопсоонп // определяется с помощью пространства имен соппгег. Соппгег.Соппкооип сб1 = пен Соопсег.Соппкпонп(10)7 тпк 17 бо ( 1 = сб1.Соппс()) Сопво1е.нг1ге (1 т " ") 7 ) ии11е (1 > О) ) Сопзо1е.игтсет вне() ) // Еще раз обратите внимание на то, как класс Сооптроип // определяется с помощью пространства имен Соппсег.

Соппсег.соопгооип сб2 = пен Соппсег.Соппсооип(20)7 бо ( = со2.Соопг()7 Сопзо1е.иггге(). + " "); ) ин11е(1 > 0); Сопзо1е.игггеьапе()7 сб2.певек(4)) бо ( 1 = сб2.соопг () ) Сопзо1е.нггсе(1 + " ")т ) ни11е(). > 0)7 Сопзо1е.игагеьгпе()7 ) ) При выполнении этой программы получается следующий результат: 10 9 8 7 б 5 4 3 2 1 0 20 19 18 17 16 15 14 13 12 11 10 9 8 7 б 5 4 3 2 1 0 43210 Для того чтобы скомпилировать зту программу, вы должны включить приведенный выше код в отдельный файл и указать его вместе с упоминавшимся выше файлом, содержащим код объявления пространства имен соппсег. Если этот код находится в файле МЯОещо. си, а код объявления пространства имен сопл се г — в файле сопл сег .

сз, то для компиляции программы используется следующая командная строка: свс Нзпевко. св соспсег. св 498 часть (. язык Сз Некоторые важные аспекты данной программы заслуживают более пристального внимания. Во-первых, при создании объекта класса соипгРонп необходимо дополнительно определить его имя с помощью пространства имен соипсег, как показано ниже.

Ведь класс соипгпоип объявлен в пространстве имен соипсег. Соиигег.Соипгооии ск(1 = иеи Соипгег.Соипгпоип(10) Это правило можно обобщить: всякий раз, когда используется член пространства имен, его имя необходимо дополнительно определить с помощью этого пространства имен. В противном случае член пространства имен ие будет обнаружен компилятором.

Во-вторых, как только объект типа соипсег будет создан, дополнительно определять его члены с помощью пространства имен уже ие придется. Следовательно, метод сб1. соиле () может быть вызван непосредственно без дополнительного указания простраиства имен, как в приведенной ниже строке кода. 1 сб1.Соипг(); И в-третьих, ради наглядности примера рассматриваемая здесь программа была разделена иа два отдельных файла.

В одном файле содержится код объявления простраиства имен Соипгег, а в другом — код самой программы ньРеюо. Но оба фрагмента кода можно было бы объединить в единый файл. Более того, в одном файле исходного кода может содержаться два или более пространства имен со своими собственными областями объявлений. Когда оканчивается действие внутреннего пространства имен, возобиовляется действие внешнего пространства имен — в примере с соипсег это глобальное пространство имен. Ради большей ясности в последующих примерах все пространства имен, требующиеся в программе, будут представлены в одном и том же файле.

Однако следует иметь в виду, что их допускается распределять по отдельным файлам, что чаще практикуется в выходном коде. Предотвращение конфликтов имен с помощью пространств имен Главное преимущество пространств имен заключается в том, что объявленные в иих имена ие вступают в конфликт с именами, объявленными за их пределами. Например, в приведенной ниже программе определяются два пространства имен. Первым из иих является представленное ранее пространство имен соипгег, а вторым — соипсег2.

Оба пространства имен содержат классы с одинаковым именем СоипСРоип, ио поскольку это разные пространства, то оба класса СоипГРоип ие вступают в конфликт друг с другом. Кроме того, оба пространства имен определены в одном и том же файле. Как пояснялось выше, это вполне допустимо. Безусловно, каждое из этих пространств имен можно было бы выделить в отдельный файл, если бы в этом возникла потребность. // Пространства имен прелотвраыают конфликты имен. ив1пд Зувсепц // Объявить пространство имен Соипгег.

иавеврасе Соиисег ( // Простой вычитающий счетчик. с1авв Соипгоомп ( ьпс ча1т Глава )6. Пространства имен, препроцессор и сборки 499 рпЫ1с Соипкпоип(апс и) ( ча1 = и) ) рпЬ11с чогб Певек (апк и) ( ча1 = пт рпЫас апс Сопок() ( 16(ча1 > 0) геспгп ча1--; е1яе гегпгп Ог ) ) // Объявить пространство имен Соппсег2. паэеярасе Соопсег2 ( /* Этот класс Соппкпонп относится к пространству имен Соппсег2 и поэтому не вступает в конФликт с аналогичным классом иэ пространства имен Соппкег.

*/ с1аяя Соппспоып ( рпЫас чоаб Сопок() ( сопяо1е.игагеьапе("это метод соиле() иэ " + "пространства имен Соппсег2.")т ) ) ) с1аяя Нзпеэо2 ( вкасас чо10 Маап() ( // Это класс Соипспонп иэ пространства имен Соипкег. Соипкег.соппкпонп сб1 = пен Соппсег.Соппспонп(10)т // Это класс Соппспонп иэ пространства имен Соппсег2. Соппкег2.Соппспонп сб2 = пеы Соппсег2.Соппкпоип()т апг 17 с(о ( = сб1.Сопле()т Сопяо1е.

Иг).се (1 ь " ") ) ) иЫ1е(). > 0) г Сопяо1е.иггсепгпе()т сс(2.Сопле()т ) ) Вот к какому результату приводит выполнение втой программы: 10 9 8 7 6 5 4 3 2 1 0 Это метод Сопок() иэ пространства имен Соппсег2. 500 Часть!. Язык С№ Как следует из приведенного выше результата, класс соппсРоип из пространства имен Соппсег существует отдельно от класса того же названия из пространства имен соппсег2, и поэтому конфликт имен не возникает. Несмотря на всю простоту данного примера, он наглядно показывает, как удается избежать конфликта имен в собственном коде и коде, написанном другими, поместив классы с одинаковыми именами в разные пространства имен.

Директива ив~ад Если в программе присутствуют частые ссылки на члены конкретного пространства имен, то указывать это пространство всякий раз, когда требуется ссылка на него, не очень удобно. Преодолеть это затруднение помогает директива пз1ПЯ. В подавляющем большинстве приводившихся ранее примеров программ с помощью этой директивы делалось видимым глобальное для С№ пространство имен зузсещ, поэтому она отчасти вам уже знакома. Как и следовало ожидать, с помощью директивы пз1ПЯ можно сделать видимыми вновь создаваемые пространства имен. Существуют две формы директивы пз1ПЯ.

Ниже приведена первая из них. пяьпд имят где имя обозначает имя того пространства имен, к которому требуется получить доступ. Все члены, определенные в указанном пространстве имен, становятся видимыми и поэтому могут быть использованы без дополнительного определения их имен. Директиву пз1пд необходимо вводить в самом начале каждого файла исходного кода перед любыми другими объявлениями или же в начале тела пространства имен. Приведенная ниже программа является вариантом предыдущего примера, переработанным с целью продемонстрировать применение директивы пзъпЯ, делающей видимым создаваемое пространство имен.

// Продемонстрировать применение директивы оаьпЧ. ов1по Зувкещ; // Сделать видимым пространство имен Соппсек. оз1пд Соопьект // Объявить пространство имен для счетчиков. , пащеврасе Соппсек ( // Простой вычитающий счетчик. с1азя Соопкоомп ( апс ча1т рпю11с Соопопонп(впс и) ( ча1 = пт ) роо11с чо1б певек(1пк и) ( ча1 = пт роп11с 1по Сонно() ( 11(ча1 > 0) кеспкп ча1--т е1ае кеоокп От Глава )б. Пространства имен, препроцвссор и сборки 50"т ) ) с1авз Изпеиоз ( вкакас то1б Ма).п() ( // теперь класс соппспонп может быть использован непосредственно.

Характеристики

Тип файла
DJVU-файл
Размер
6,78 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6472
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее