Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 26

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 20 21 22 23 24 25 < 26 > 27 28 29 30 31 32 .. 320 >> Следующая

выполнения вам потребуется весьма объемистая библиотека времени выполнения
Microsoft Foundation Classes - mfc42.dll Программы на Visual Basic привязаны к такому компоненту среды выполнения, как библиотека msvbvm60.dlL, а программам на Java необходим большой набор файлов, входящих в состав виртуальной маши-m,iJava.
Стандартная система типов CTS 43
Своя среда выполнения требуется и приложениям .NET. Главное отличие этой среды выполнения от всех тех, которые были перечислены выше, заключается в том, что единая среда выполнения .NET используется приложениями, написанными на любых языках программирования .NET. Как уже говорилось выше, среда выполнения .NETносит официальное название Common Language Runtime (CLR).
Сама CLR состоит из двух главных компонентов. Первый компонент - это ядро среды выполнения, которое реализовано в виде библиотеки mscoree.dLl При обращении к приложению .NET mscoree.dLL автоматически загружается в память, и, в свою очередь, эта библиотека управляет процессом загрузки в память сборки данного приложения. Ядро среды выполнения ответственно за множество задач. Оно занимается поиском физического местонахождения сборки, обнаружение-і внутри сборки запрошенного типа (класса, интерфейса, структуры и т. п.) на основе информации метаданных, компилирует ILb платформенно-зависимые инструкции, выполняет проверки, связанные с обеспечением безопасности, - и этот перечень далеко не полон.
Второй главный компонент CLR - это библиотека базовых классов. Сама библиотека разбита на множество отдельных сборок, однако главная сборка библиотеки базовых классов представлена файлом mscorlib Ж. В библиотеке базовых классов содержится огромное количество типов для решения распространенных задач при создании приложения. Приложение .NET будет обязательно использовать сборку mscorLib.dlLи по мере необходимости - другие сборки (как встроенные, так и создаваемые вами самими).
На рис. 1.3 представлен путь, который проходит исходный код приложения, прежде чем воплотиться в выполнение каких-либо действий на компьютере.
Стандартная система типов CTS
Мы уже говорили, что стандартная система типов (Common Type System, CTS) —
это формальная спецификация, которая определяет, как какой-либо тип (класс, структура, интерфейс, встроенный тип данных и т. п.) должен быть определен для его правильного восприятия средой выполнения ,NET. CTS определяет синтаксические конструкции (в качестве примера можно взять перегрузку операторов), которые могут поддерживаться, а могут и не поддерживаться конкретным языком программирования .NET. Если вы хотите создавать сборки, которые смогут использоваться всеми языками программирования .NET, вам придется при создании типов следовать правилам Common Language Specification - CLS. А сейчас мы рассмотрим особенности тех типов, к которым применяется спецификация CTS.
Классы CTS
Концепция классов - краеугольный камень любого объектно-ориентированною программирования. Она поддерживается всеми языками программирования Класс (class) — это набор свойств, методов и событий, объединенных в единое целое. Как, наверное, вы и предполагали, в CTS предусмотрены абстрактные члены классов, что обеспечивает возможность применения полиморфизма в производных классах. Множественное наследование в CTS запрещено. Самые важные характеристики классов представлены в табл.
44 Глава 1 • Философия .NET
Код вашего приложения .NET на любом языке программирования .
!Компилятор NET
Сборка в виде файла DLL или EXE
(IL и метаданные)
Библиотеки базовых классов
(mscorlib.dll и
остальные)
Ядро среды выполнения
(mscoree.dll)
Загрузчик классов
3
Компилятор времени
выполнения і
і
Платформенно-
зависимые
инструкции

Прпложениа
выполняется!
Рис. 1.3, Роль среды выполнения .NCl Таблица 1.1. Самые важные характеристики классов CTS
Характеристика
Ее смысл
Является ли класс «закрытым»?
Предусмотрены ли в классе какие-либо интерфейсы?
Является ли класс абстрактным?
Какова область видимости
для данного класса?
Закрытые классы не могут становиться базовыми для других классов
Интерфейс — это набор абстрактных членов, который обеспечивает связь между объектом и пользователем. В СТ5 в классе может быть любое количество интерфейсов
Объекты абстрактных классов создать невозможно. Единственное назначение абстрактных классов - выполнять роль базовых для других классов. За счет механизма наследования абстрактные классы обеспечивают производные классы общими наборами членов
Для каждого класса должен быть определен атрибут области видимости (visibility). Как правило, значение этого атрибута определяет, можно ли обращаться к этому классу из внешних сборок или только из той, которая его содержит
Стандартная система типов CTS 45
Структуры CTS
Помимо классов в CTS также предусмотрена концепция структур (structures). Если; вы работали с С, возможно, вы удивитесь, что этот пользовательский тип данных сохранился и в мире .NET (правда, надо отметить, что он немного изменился). В принципе, структуры можно грубо рассматривать как упрощенные разновидности классов (подробнее о различиях между классами и структурами будет расска-зано в главе 2). Структуры CTS могут иметь любое количество конструкторов с параметрами (конструктор без параметров зарезервирован). С помощью конструкторов с параметрами вы можете установить значение любого поля объекта структуры в момент создания этого объекта. Например:
Предыдущая << 1 .. 20 21 22 23 24 25 < 26 > 27 28 29 30 31 32 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100