Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСиСП ЛР №5.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
325.12 Кб
Скачать

Методические указания

для выполнения лабораторной работы №5

по курсу «Операционные системы и

системное программирование»

«Основы С#»

СОДЕРЖАНИЕ

Общие сведения 2

Введение в платформу .NET 2

Common Language Runtime (CLR) 3

Автоматическое управление ресурсами 4

Выполнение на многих платформах 4

Согласующаяся модель программирования 4

Контроль типов 4

Интеграция языков 4

Общая система типов (Common Type System) 4

Assemblies - управляемые компоненты 5

Система безопасности 6

Промежуточный Язык и JIT компилятор 6

Базовые классы 8

С# 9

Компилятор сsc.exe 10

Разработка элементарных программ на языке программирования C# 10

Основные управляющие операторы: 11

Пространство имен: 12

Пример программы на C# 12

Классы и обьекты 13

Наследование 14

Полиморфизм 15

Виртуальные методы 15

Интерфейсы 17

Делегаты 18

Обработка событий 19

Исключительные ситуации 20

Ход работы 22

Контрольные вопросы 25

Отчетность 26

Дополнительная литература 26

Цель работы

Получить общие сведения о платформе .NET и о принципах разработки приложений на этой платформе. Научиться пользоваться документацией. Получить практические навыки по работе с классами и объектами на платформе .NET и языке C#. Научиться использовать наследование, абстрактные классы, интерфейсы. Научиться обрабатывать ошибки с помощью исключений.

Общие сведения Введение в платформу .Net

.NET платформа упрощает разработку приложений и повышает надежность кода. В частности, она обеспечивает автоматическое управление временем жизни объектов, нейтральные к языкам библиотеки классов и пересекающие границы языков наследование, обработку исключений и отладку. Архитектура .NET изображена на рисунке.

Common Language Runtime опирается на системные сервисы операционной системы и управляет выполнением кода, написанного на любом современном языке программирования. Набор базовых классов дает доступ к сервисам платформы, которые разработчики могут использовать из любого языка программирования. Common Language Runtime и базовые классы вместе составляют основу .NET платформы. Эта архитектура очень похожа на архитектуру C runtime, Visual Basic runtime или виртуальной машины Java.

.NET предлагает также высокоуровневые сервисы: - ADO+ - новое поколение ADO, которое использует XML и SOAP для обмена данными - ASP+ - новая версия ASP, позволяющая использовать любой (.NET совместимый) язык для программирования Web страниц - Win Forms и Web Forms – набор классов для построениения пользовательского интерфейса локальных и Web-ориентированны приложений. Отдельно упомянем C# (произносится «си шарп») - новый объектно-ориентированный язык, нацеленный на создание приложений для платформы .NET.

Common Language Runtime (CLR)

CLR предоставляет исполняемому коду определенный набор сервисов. Например, CLR поддерживает создание и манипулирование потоками. Поэтому любой язык, который может использовать CLR, сможет использовать потоки. Код, который нуждается в CLR во время выполнения, называется “управляемый” (managed) код. Ответственность за такие задачи как создание объектов и вызов методов возлагается на CLR. Код, который не нуждается в CLR, называется “неуправляемый” (unmanaged) код.

Microsoft предоставляет 4 компилятора, которые генерируют код для .NET CLR: C++, C#, Visual Basic (включая VBScript и Visual Basic for Applications) и JScript. Visual C++ - это единственный компилятор, который может генерировать неуправляемый код. Остальные компиляторы могут производить только управляемый код, и поэтому код, написанный на этих языках, всегда нуждается в CLR. Несколько компаний также производят компиляторы управляемого кода. Например, Rational планирует создать такой компилятор для Java. Рассмотрим основные понятия .NET и сервисы CLR

Автоматическое управление ресурсами

Одна из наиболее частых ошибок заключается в том, что приложение не освобождает ресурсы или пытается их использовать после освобождения. CLR автоматически отслеживает использование ресурсов, гарантируя их своевременное освобождение.

Выполнение на многих платформах

Сегодня имеются много различных версий Windows. Написаное и собранное управляемое .NET приложение сможет выполняться на любой платформе, которая поддерживает .NET CLR.

Согласующаяся модель программирования

Модель программирования .NET упрощает конструкции Win32 и COM. Программисты больше не должны заботится о деталях реестра, GUID, IUnknown, AddRef, Release, HRESULTS и тому подобного. .NET не просто инкапсулирует эти понятия; на новой платформе они вовсе отсутствуют. Отметим также, что в .NET все сообщения об ошибках передаются единым способом: через исключения.

Контроль типов

.NET CLR конролирует доступ к объектам и гарантирует, что доступ производится в соответствии с типом этих объектов. Также CLR не позволит создать указатель на произвольный адрес в памяти и выполнить код по этому адресу. Это, в частности, исключает возникновение множества типичных ошибок программирования и классических атак по методу переполнения буфера.

Интеграция языков

COM позволяет взаимодействовать компонентам на различных языках программирования. .NET интегрирует языки друг с другом. Например, можно создать Си++ класс, который наследует классу, реализованному на Visual Basic. Это означает, что программисты, использующие библиотеку классов, больше не ограничены в выборе языка языком этой библиотеки. Исключение может быть вызвано из кода, написанного на одном языке и обработано в коде, написанном на другом языке. Операции отладки и профилирования (profiling) работают, плавно пересекая границы языков. Такая интеграция становится возможной, поскольку .NET определяет и предоставляет систему типов, общую для всех языков.