. NET Framework Class Library Библиотека классов

Содержание

Слайд 2

Net.Framework. Библиотека классов

.Net Framework Class Library – библиотека базовых классов, на основе

Net.Framework. Библиотека классов .Net Framework Class Library – библиотека базовых классов, на
которых строятся все .Net-приложения.
Принципиальная новизна заключается в том, что.
Унифицируются функциональные возможности разных языков.
Реализуется модель управления оперативной памятью.
Базовые классы не принадлежат пользовательским приложениям, а являются компонентом операционной системы.

Слайд 3

Функциональность
Поддержка базовых типов и типов, определяемых пользователем.
Поддержка обработки исключительных ситуаций.

Функциональность Поддержка базовых типов и типов, определяемых пользователем. Поддержка обработки исключительных ситуаций.

Операции ввода/вывода и работа с потоками.
Обращение к функциям операционной системы.
Поддержка доступа к данным.
Создание Windows-приложений.
Создание клиентских и серверных Web-приложений.
Создание Web-сервисов.

Слайд 4

Реализация: сборки и динамические библиотеки

Сборка (assembly) – бинарные данные приложения, содержат код,

Реализация: сборки и динамические библиотеки Сборка (assembly) – бинарные данные приложения, содержат
графические изображения, ресурсы и другие.
Сборка – минимальная единица внедрения, контроля версий, повторного использования и системы безопасности.
Сборка также содержит метаданные – информацию о классах, типах и ссылках на другие сборки.
Динамические сборки создаются во время выполнения программы и на диске не сохраняются.
Библиотека классов .Net состоит из многих сборок, каждая из которых содержит много классов.

Слайд 5

Динамические библиотеки

Функциональные возможности базовых классов распределены по библиотекам DLL. Управляемое приложение

Динамические библиотеки Функциональные возможности базовых классов распределены по библиотекам DLL. Управляемое приложение
во время запуска загружает необходимые библиотеки DLL.

Слайд 6

Реализация: пространства имен

Библиотека классов .NET Framework состоит из пространств имен namespace. Каждое

Реализация: пространства имен Библиотека классов .NET Framework состоит из пространств имен namespace.
пространство имен содержит типы, которые можно использовать в программах: классы, структуры, перечисления, делегаты и интерфейсы. Пространства имен группируют типы по функциональности.
Пространства имен обеспечивают ограничение области видимости: два класса с одним и тем же именем могут быть использованы, если они находятся в разных пространствах имен и их имена определены в рамках соответствующих пространств имен.

Слайд 7

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

Имя пространства имен является частью полного имени типа: namespace.typename
Использования полных имен

Пространства имен Имя пространства имен является частью полного имени типа: namespace.typename Использования
namespace.typename в C++ позволяет избежать ключевое слово using.
using System;
. . .
void main()
{
Console.WriteLine("Hello");
// Без using, нужно использовать полное имя:
// System.Console.WriteLine("Hello");
}

Слайд 8

Пространство имен System

Пространство имен System – корневое пространство имен в .NetClass Library,

Пространство имен System Пространство имен System – корневое пространство имен в .NetClass
содержит фундаментальные типы данных, реализованные в .Net Framework.
Класс Object – базовый для всех классов в библиотеке классов .Net.
Примитивные и расширенные типы.
Более 100 классов, используемых для обработки исключительных ситуаций, разработки интерфейса, сборки мусора и т.п.

Слайд 9

Пространство имен System

Пространство имен System содержит фундаментальные и базовые классы, которые определяют

Пространство имен System Пространство имен System содержит фундаментальные и базовые классы, которые
распространенные типы значений и ссылочные типы данных, события и обработчики событий, интерфейсы, атрибуты и исключения обработки.
Также содержит классы, обеспечивающие поддержку преобразования типов данных, операций с параметрами методов, математических операций, удаленного и локального вызова программ, управления средой приложений и контроля управляемых и неуправляемых приложений.

Слайд 10

Пространство имен System

Пространство имен System

Слайд 11

Пространство имен System

Базовые типы данных, используемые всеми приложениями, соответствуют простым типам данных,

Пространство имен System Базовые типы данных, используемые всеми приложениями, соответствуют простым типам
используемым в языках программирования.
При написании кода можно использовать типы .Net Framework или ключевое слово языка.
Таблица типов
System.Windows.Forms содержит классы для создания приложений Windows с использованием всех элементов пользовательского интерфейса, доступных в операционной системе Microsoft Windows.

Слайд 12

Common Type System (CTS)

Общая система типов CTS предоставляет набор отношений между типами.

Common Type System (CTS) Общая система типов CTS предоставляет набор отношений между

Множественное наследование не поддерживается.
Object – корневой объект иерархии. Из него наследуют все типы. Является базовым для всех управляемых типов, в том числе для примитивных типов, используемых в управляемых кодах.

Слайд 13

Общая система типов CTS

Примитивные типы CLI занимают место в системе типов в

Общая система типов CTS Примитивные типы CLI занимают место в системе типов
форме объектов, которые заключают в обертку каждый примитивный тип.
В управляемой куче можно распределить только ссылочные типы, и только они могут поддерживать наследование и виртуальные функции.
Базовые типы содержатся в пространстве имен System.

Слайд 14

Общая система типов CTS

Общая система типов CTS

Слайд 15

Ссылочные типы и типы значений

Управляемые типы делятся на две категории:
тип значений,
ссылочный

Ссылочные типы и типы значений Управляемые типы делятся на две категории: тип
тип.
Различие между ними в механизмах выделения памяти, хранения и выполнения операций.

Слайд 16

Типы значения

Типы значения, это простые типы, которые содержат собственно данные.
Встроенные типы

Типы значения Типы значения, это простые типы, которые содержат собственно данные. Встроенные
реализованы в среде выполнения.
Пользовательские типы-значения.
Перечисления enum – типы, которые также может определить пользователь.
Значения типов-значений представлены как локальные и глобальные переменные, параметры методов, поля объектов и элементы массивов. Для каждого типа известен тип значений, которые она может содержать.
Типы значения не могут содержать объекты.

Слайд 17

Ссылочные типы

Ссылочные типы описывают объектные ссылки (object references), которые представляют адреса объектов.

Ссылочные типы Ссылочные типы описывают объектные ссылки (object references), которые представляют адреса
Живут в куче, и к ним можно обращаться только через дескриптор.
Когда объект присваивается или передается как параметр, сам объект не копируется, но создается другая ссылка, которая ссылается на тот же объект.
Ссылочный тип используется везде, где моделируется объект. Могут унаследовать другой класс и быть унаследованы.

Слайд 18

Ссылочные типы

Типы указателей – содержат описание значения, представленного адресом в памяти.
Типы интерфейсов

Ссылочные типы Типы указателей – содержат описание значения, представленного адресом в памяти.
– содержат только частичное описание значений.
Объектные типы (типы с самоописанием) – содержат самоописываемые значения.

Слайд 19

Самоописывающие ссылочные типы

Ссылочные типы, представляющие объекты, называются самоописывающими (self-describing), потому что каждый

Самоописывающие ссылочные типы Ссылочные типы, представляющие объекты, называются самоописывающими (self-describing), потому что
объект в куче содержит информацию о своем типе.
Два таких типа являются встроенными:
System.Object  и System.String.
System.Object является общим базовым классом, от которого непосредственно или косвенно наследует любой другой класс.
System.String используется для представления строковых данных в формате Unicode.

Слайд 20

Классы

Классы – основа типов с описанием.
Классы могут:
агрегировать значения других типов;
наследоваться друг

Классы Классы – основа типов с описанием. Классы могут: агрегировать значения других
от друга (в .NET поддерживается только одиночное наследование).

Слайд 21

Классы

Классы могут содержать следующие элементы:
Поля (fields) – для хранения значений других типов.
Методы

Классы Классы могут содержать следующие элементы: Поля (fields) – для хранения значений
(methods) – функции классов. Они бывают статическими (static method) и объектными (instance method). Вызываемый объектный метод всегда получает ссылку на объект, для которого он вызывается (this).
Свойства (properties) – те же методы, один из которых возвращает некоторое значение (get), а другой устанавливает это значение (set).
События (events) – используются для асинхронного внесения изменений в объект.

Слайд 22

Типы-интерфейсы

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

Типы-интерфейсы Интерфейсы реализуются на основе классов, это такие типы данных, которые могут
«лицом» для данных других типов.
Интерфейсы задают функциональность абстрактного объекта без ее реализации. Классы, использующие интерфейсы, наполняют конкретным содержанием методы, определенные в интерфейсах.

Слайд 23

Примеры интерфейсов

Интерфейс IEnumerable описывает итератор , используемый для итерации по содержимому коллекции

Примеры интерфейсов Интерфейс IEnumerable описывает итератор , используемый для итерации по содержимому
методом MoveNext() .
Метод GetEnumerator возвращает IEnumerator – энумератор, используемый для итерации.
Свойство Current типа Object возвращает текущий элемент коллекции.
Интерфейс ICollection наследует интерфейс IEnumerable и служит базовым интерфейсом для реализации коллекций. Определяет методы, свойственные коллекциям – поддержку размера коллекции, энумераторов и синхронизации.

Слайд 24

Встроенные типы

Класс Object пространства имен System.
Класс String пространства имен System.

Встроенные типы Класс Object пространства имен System. Класс String пространства имен System.

Слайд 25

Класс Object

Любой объект наследует классу Object явно или нет.
Конструктор Object инициализирует

Класс Object Любой объект наследует классу Object явно или нет. Конструктор Object инициализирует новый экземпляр класса.
новый экземпляр класса.

Слайд 26

Методы класса Object

Equals проверяет, являются ли два объекта одним и тем же

Методы класса Object Equals проверяет, являются ли два объекта одним и тем
экземпляром. Для типов значений метод переопределен и проверяет равенство значений, хранимых экземплярами объекта.
ReferenceEquals проверяет, являются ли два объекта одним и тем же экземпляром класса.
GetType возвращает объект типа Type для экземпляра класса.
ToString возвращает текстовое представление объекта. Может быть перегружен.
MemberwiseClone создает точную копию объекта.

Слайд 27

Пример

Обычно не требуется объявлять класс наследником Object, так как наследование происходит неявно.

Пример Обычно не требуется объявлять класс наследником Object, так как наследование происходит

Все классы в платформе .NET Framework являются производными класса Object, и все методы, определенные в классе Object, доступны для всех объектов в системе.
В производных классах некоторые из этих методов могут переопределяться и переопределяются,
например, ToString().

Слайд 28

Класс Type и пространство имен Reflection

Класс Type – точка входа в пространство

Класс Type и пространство имен Reflection Класс Type – точка входа в
имен Reflection.
Reflection (отражение) – способность изучать возможности классов во время выполнения программы.
Используя отражения, можно извлекать классы, изучать их методы, свойства, конструкторы, поля, события, получая доступ к метаданным , ассоциированным с данным классом.
Класс Type содержит методы типа
GetMethods(),
GetProperties(),
которые возвращают информацию о полях класса.

Слайд 29

Описание примера

1. Спецификация объекта – место в проекте. Доступность объекта.
2. Пространства имен

Описание примера 1. Спецификация объекта – место в проекте. Доступность объекта. 2.
по умолчанию.
3. Объявление объекта.
4. Инициализация объекта.
5. Интерфейс объекта: свойства и перегрузка ToString().
6. Взаимодействие объекта с формой приложения и ее компонентами.
7. Управление поведением объекта из класса формы.
8. Инструменты для управления объектом.

Слайд 30

Описание примера

Описание примера
Имя файла: .-NET-Framework-Class-Library-Библиотека-классов.pptx
Количество просмотров: 207
Количество скачиваний: 2