Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 96

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 90 91 92 93 94 95 < 96 > 97 98 99 100 101 102 .. 404 >> Следующая


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

195

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

Практинум: использование библиотеки классов

1. Создайте новый проект с именем Ch09ClaesLib в директории С:\BegCSharp\Chapter9,

воспользовавшись диалоговым окном New Project (см. рис. слева).

2. Переименуйте файл ciassi.es В MyExCernalClaae.es (это МОЖНО сделать, щелкнув правой кнопкой мыши по имени файла в окне Solution Explorer и выбрав опцию Rename (переименовать)).

3.Измените КОД В HyExternalClass.es

так, чтобы он отражал данное изменение имени класса.

Для этого запишем код так:

public class MyExternalClaes

public MyExternalClaes() .

С

И

// Следует сделать: вставить сюда логику конструктора

//

>

4. Добавьте в проект новый класс, использовав в качестве имени файла MylnternalClase.се.

5. Модифицируйте код таким образом, чтобы класс Myinternaiclass стал внутренним:

internal slasa Myinternaiclass

С

public Myinternaiclass()

(

И

П Следует сделать: вставить седа логику конструктора

Н

)

)

6. Откомпилируйте проект (обратите внимание, что в этом проекте не имеется точки входа, поэтому его невозможно запустить как обычный проект — вместо этого вы можете просто построить его, воспользовавшись опцией меню Build | Build).

7. Создайте новое консольное приложение с именем съоэЕхог В директории C[\BeaCSharp\Chapter9.

TyfOl!

. uJ tw

CJ Vriult c*t

CJ s«m tra Qt&Oytotrt Protect! WCjOUnr

a VbuA3tudo5oJi/ions

ШЗ]

firs



WftAv*

CofboJLlxscr

^ ©

ASFKlWtb ASP.WTWrt VWACortral леекмап ft™c« it>»v

С <Mf Л* n tthit

r aev.MiU)
1 ¦ У.Оч^тг»

t' ЛИ* -.AJtMi G Av

h4M«*lna ¦ *:

*Wki

;r*

J.
196

Глава 9

Solution ЕкЫоп'г - CtiOeE-Mf»3

“Ш I Г*"Л ’ '

Solution 'CU)S?xO?- (1 project)

а- © сьоэьлг

& RefarencM

ь ^зыямшга

|~ •© System

- *G3 System.Deta

- «Ш System.XML |— §| Assentblylrfo.cs

§] Classl ,cs

Ш

Й Solution Expiwcr [5% Оая Vtew]~

8. Выберите пункт меню Project | Add Reference... либо выберите ту же самую опцию, дважды щелкнув правой кнопкой мыши по пункту References

в окне Solution Explorer.

9. Щелкните по кнопке Browse..., перейдите в директорию

С; \BegCSharp\Chapter9\ChQ9ClassLib\binNDebugN

и дважды щелкните мышью по Ch09ClaeeLib.dll.

10. Нажмите ОК.

11. После того как выполнение операции будет завершено, убедитесь, что в окне Solution Explorer добавилась новая ссылка (см. рис. слева).

12, Откройте окно Object Browser и посмотрите, какие объекты содержатся

в новой ссылке (см. рис. справа).

13. Внесите следующие изменения в Classl. сб:

using System; using ChOSClaeeLib;

namespace Ch09Ex02

{

U - ** " -f ___ У-r^i

i цоакиоь

III <3umroary>

III Краткое описание класса Classl.

Ill </summary> class Classl {

static void Main(string[J args)

(

MyExtemalClaes rayObj * new HyExternalClase (); Console.WriteLine(myObj .ToStringО) ;

)

14. Запустите приложение:

Eiv DVBcaCSh arp\C Ixapte r‘l j: ha 9 Fxfl г\Ьн n' D e (> r hO'JEjLO;' e

СЬ09С1ай&1| i Ii. Jly Extensa IС1 nt Pi'er:: ^rtv key ¦"-> i:n n I. inin ¦ li

Ш-

:

I-

J

_______¦ ISA

Как это работает

В этом практикуме мы создали два проекта, один из которых является библиотекой классов, а второй — консольным приложением. Проект, представляющий собой библиотеку классов,— Ch09CiassLib — включает два класса: MyExternalclass,
Определение классов

197

являющийся общедоступным, и f*yinternaiciasa, к которому имеется только внутренний доступ. Консольное приложение — ch09Ex02 — содержит простой код, использующий библиотеку классов.

Для того чтобы использовать классы из ch09classLib, мы добавили в приложение ch09Ex02 ссылку на DLL, которая была создана проектом библиотеки классов. Для этого мы просто указали соответствующую DLL. Для задач, решаемых в данном примере, оказалось достаточно указать на выходной файл библиотеки классов, однако с тем же успехом мы могли бы скопировать этот файл в такое место, где он был бы локальным по отношению к ch09ExQ2. Это позволило бы продолжать разработку библиотеки классов, не затрагивая консольное приложение. Для того чтобы заменить старую версию модуля на новую, потребуется записать вновь созданную DLL на место старой.
Предыдущая << 1 .. 90 91 92 93 94 95 < 96 > 97 98 99 100 101 102 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.