Главная » Просмотр файлов » 1629295403-b876e2087bddebea4bc9666fb2377a02

1629295403-b876e2087bddebea4bc9666fb2377a02 (846199), страница 82

Файл №846199 1629295403-b876e2087bddebea4bc9666fb2377a02 (С для чайников) 82 страница1629295403-b876e2087bddebea4bc9666fb2377a02 (846199) страница 822021-08-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Solution Explorer будет описан в главе 21, "Использование интерфейсаVisual Studio".420Часть VII. Дополнительные главыВ Visual Studio, а также в C#, Visual Basic .NET и прочих языках .NET один проектсоответствует одному скомпилированному модулю — в .NET он носит имя сборка.С# может создавать два основных типа сборок — выполнимые файлы (с расширени­ем .ЕХЕ) и библиотеки классов (.DLL). Выполнимые файлы представляют собой про­граммы сами по себе и используют код поддержки из библиотек.

Во всей этой книге созда­вались исключительно выполнимые файлы. Что касается библиотек классов, то опять жевсе программы в книге их используют. Например, пространство имен S y s t e m — месторазмещения таких классов, как String, Console, Exception, Math и O b j e c t — су­ществует как набор библиотечных сборок. Каждой программе требуются классы System.Библиотеки не являются самостоятельными выполнимыми программами.Библиотека классов состоит из одного или нескольких классов, обычно работающихвместе тем или иным способом.

Зачастую классы в библиотеках находятся в своем соб­ственном пространстве имен (namespace). (О них речь пойдет в следующем разделе.)Вы можете построить библиотеку математических подпрограмм, библиотеку для работысо строками, библиотеку классов-фабрик и т.д.Небольшие программы обычно состоят из одной сборки programName.ехе. Одна­ко часто создаются решения, состоящие из нескольких отдельных (но связанных) проек­тов, как упоминалось в предыдущем разделе. Каждый из них компилируется в отдельнуюсборку. В решении вы можете объединять и .

ЕХЕ-, и . DLL-файлы, что является обычной практикой ДЛЯ больших программ. Когда ВЫ строите многопроектное решение,сборки работают совместно, обеспечивая функциональность приложения в целом.Если решение содержит более одного . ЕХЕ-проекта, вы должны указать VisualStudio, какой проект является начальным (startup project). Именно он будет запус­каться при выборе команды меню Debug^Start Debugging (F5) or DebugsStart Without Debugging (<Ctrl+F5>). Для указания начального проекта щелкни­те на нем правой кнопкой мыши в окне Solution Explorer и выберите в раскры­вающемся меню команду Set as Startup Project. Имя начального проекта в окнеSolution Explorer выделяется полужирным шрифтом.

О Solution Explorer речьпойдет в главе 21, "Использование интерфейса Visual Studio".Большие программы обычно разделяют свои компоненты на один выполнимый файли несколько библиотек. Например, весь код, связанный с заказом билетов в рассматривав­шемся ранее приложении, может находиться в одной библиотеке, работа с Интернетом —в другой, а управление базами данных — в третьей. Когда такая программа устанавливает­ся на компьютер пользователя, процесс инсталляции включает копирование ряда файлов всоответствующие места на диске компьютера, причем многие из них являются .DLLфайлами, или просто "DLL" на сленге программистов (DLL означает dynamic link library(динамически компонуемые библиотеки) — код, который загружается в память тогда, ко­гда в нем возникает необходимость при запуске используемой программы).taa 19. Работа с файлами и библиотеками421Иногда бывает так, что все решение представляет собой не что иное, как библиотекклассов, а не выполняемую программу. (Обычно при разработке такой библиотеки создается также сопутствующий .

ЕХЕ-проект, именуемый драйвером, который предназна­чен для тестирования библиотеки в процессе разработки. Однако при выпуске готовойбиблиотеки для других программистов вы поставляете им только . DLL, но не . ЕХЕа также, надеюсь, документацию к этим классам!)Как создавать собственные библиотеки классов, будет рассказано немного позжев этой главе.Пространства имен существуют для того, чтобы можно было поместить связанныклассы в "одну корзину", и для снижения коллизий между именами, используемыев разных местах. Например, вы можете собрать все классы, связанные с математически­ми вычислениям, в одно пространство имен MathRoutines.Можно (но вряд ли будет сделано на практике) разделить на несколько пространствимен один исходный файл.

Гораздо более распространена ситуация, когда несколькофайлов группируются в одно пространство имен. Например, файл Point.cs может со=держать класс Point, а файл T h r e e D S p a c e . c s — класс ThreeDSpace, описываю­щий свойства Евклидова пространства. Вы можете объединить Point.cs, ThreeD­Space . cs и другие исходные файлы С# в пространство имен MathRoutines (и, веро­ятно, в библиотечную сборку MathRoutines).

Каждый файл будет помещать свой кодв одно и то же пространство имен. (В действительности пространство имен составляютклассы в этих исходных файлах, а не файлы сами по себе.)Пространства имен служат для следующих целей.Пространства имен помещают груши к грушам, а не к яблокам. Как прикладной программист, вы можете не без оснований предполагать, что все классы,составляющие пространство имен MathRoutines, имеют отношение к математи­ческим вычислениям. Так что поиск некоторой математической функции следуетначать с просмотра классов, составляющих пространство имен MathRoutines.Пространства имен позволяют избежать конфликта имен.

Например, библиотека для работы с файлами может содержать класс Convert, который преобразу­ет представление файла одного типа к другому. В то же время библиотека перево­да может содержать класс с точно таким же именем. Назначая этим двум множе­ствам классов пространства имен FilelO и TranslationLibrary, выустраняете проблему: класс FilelO. Convert, очевидно, отличается от классаTranslationLibrary.Convert.Объявление пространств именПространства имен объявляются с использованием ключевого слова namespace, закоторым следует имя и блок в фигурных скобках. Классы в этом блоке являются частьюпространства имён,namespaceMyStuff{422Часть VII. Дополнительные главыclass MyClass {}class UrClass {}}В этом примере классы MyClass и UrClass являются частью пространства именMyStuff.Кроме классов, пространства имен могут содержать другие типы, такие как структуры иинтерфейсы.

Одно пространство имен может также содержать вложенные пространства именс любой глубиной вложенности. У вас может быть пространство имен Namespace2, вло­женное в Namespacel, как показано в следующем фрагменте исходного текста:namespace Namespacel{// Классы в Namespacelnamespace Namespace2{// Классы в Namespace2public class Class2public void AMethod() { }}}}Для вызова метода из Class2 в Namespace2 откуда-то извне пространства именNamespacel применяется следующая запись:Namespacel.Namespace2.Class2.AMethod();Пространства имен неявно открыты, так что для них нельзя использовать специфика­торы доступа, даже спецификатор public.Удобно добавлять к пространствам имен в ваших программах название вашейфирмы: MyCompany .MathRoutines. (Конечно, если вы работаете на фирме.Вы можете также использовать свое собственное имя.

Я бы мог применять длясвоих программ что-то наподобие CMSCo.MathRoutines или Sphar.MathRoutines.) Добавление названия фирмы предупреждает коллизии имен в вашемкоде при использовании двух библиотек сторонних производителей, у которых ока­зывается одно и то же базовое имя пространства имен, например, MathRoutines.Такие "имена с точками" выглядят как вложенные пространства имен, но на самомделе это одно пространство имен, так что System. Data — это полное имя Пространст­ва имен, а не имя пространства имен Data, вложенного в пространство имен System.Такое соглашение позволяет проще создавать несколько связанных пространств имен,таких как System. 10, System.

Data и System. Text.Visual Studio Application Wizard помещает каждый формируемый им классв пространство имен, имеющее такое же имя, как и создаваемый им каталог.Взгляните на любую программу в этой книге, созданную Application Wizard.Например, программа AlignOutput размещается в папке AlignOutput.Имя исходного ф а й л а — Program.cs, соответствующее имени класса поумолчанию.

Имя пространства имен в Program.cs то же, что и имя папки:AlignOutput. (Можно изменить любое из этих имен, только делайте это ос­торожно и аккуратно. Изменение имени общего пространства имен проектавыполняется в окне Properties проекта.)Глава 19. Работа с файлами и библиотеками423Если вы не помещаете ваши классы в пространство имен, С# сам поместит их в глобаль­ное пространство имен.

Однако лучше использовать собственные пространства имен.Важность пространств именСамое важное в пространствах имен с практической точки зрения то, что отрасширяют описание управления доступом, о котором говорилось в главе 11,"Классы" (где были введены такие ключевые слова, как public, privateprotected, internal и protected internal). Пространства имен рас­ширяют управление доступом с помощью дальнейшего ограничения на доступк членам класса.Реально пространства имен влияют не на доступность, а на видимость. По умолчанию.классы и методы в пространстве имен NamespaceA невидимы классам в пространствеимен NamespaceB, независимо от их спецификаторов доступа.

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

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

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

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее