Обобщенные классы в C# Киньзибаев Рашид. Обобщение есть параметризированный тип.

Презентация:



Advertisements
Похожие презентации
Обобщения ( шаблоны ) Лекция 5. Тип, метод или интерфейс параметризованный другим типом Обобщенный тип Тип ( класс, структура ), который параметризован.
Advertisements

Интерфейсы Обобщения ( шаблоны ) Лекция 4. Интерфейсы Обобщения.
Обобщения ( generics) Обобщения – это классы, структуры, интерфейсы и методы, в которых некоторые типы сами являются параметрами. Эти типы перечисляются.
Киньзибаев Рашид. тип объектов, которые могут ссылаться на метод.
Универсальность. Классы с родовыми параметрами. Под универсальностью (genericity) понимается способность класса объявлять используемые им типы как параметры.
Лекция 8. Введение в ООП. Часть 1 Красс Александр СПбГУ ИТМО, 2008.
Статические поля класса Статические поля хранят данные, общие для всех элементов класса. Статическое поле существует в единственном экземпляре для всех.
1 © Luxoft Training 2012 Java: расширенные вопросы Модуль #8.
Наследование Полиморфизм ВЫЗОВ КОНСТРУКТОРОВ И ДЕСТРУКТОРОВ ПРИ НАСЛЕДОВАНИИ.
Лекция 2: Описание класса 1. Поля 2. Методы 3. Конструкторы.
Практическое занятие 6. Функции. Большинство языков программирования используют понятия функции и процедуры. C++ формально не поддерживает понятие процедуры,
Классы и объекты Лекция 2. Классификатор Класс Интерфейс Экземпляр класса Ассоциация Квалификатор Класс ассоциации Обобщение Украшение Тип данных Пакеты.
Лекция 10. Введение в ООП. Часть 3 Красс Александр СПбГУ ИТМО, 2008.
Основы ООП и C# Работа с объектами и классами. Классы Класс специальный тип данных для описания объектов. Он определяет данные и поведение типа. Определение.
ДЕЛЕГАТЫ Лекция 7 1. Зачем нужны делегаты 2 И данные, и код располагаются в памяти компьютера по определенным адресам. Передача адресов данных в C# происходит.
Объектно-ориентированный подход в языке C#. Класс в языке C# - ссылочный тип, определенный пользователем. Для классов ЯП C# допустимо только единичное.
Лекция 11. Введение в ООП. Часть 4 Красс Александр СПбГУ ИТМО, 2008.
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
ОБЪЕКТНО- ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (ООП) 1.
Программная иженерия Андрей Дмитриев ©
Транксрипт:

Обобщенные классы в C# Киньзибаев Рашид

Обобщение есть параметризированный тип

Общий вид обобщенного класса : class имя _ класса { // … }

Пример : class Gen { Т ob; public Gen(T о ) { ob = о ; } public T GetOb( ) { return ob; }

class TwoGen { //... }

Ограниченные типы - безопасность и надежность

Ограничение на базовый класс ! благодаря этому ограничению устанавливается взаимосвязь между двумя параметрами типа

Пример : class Test where T : А { //... }

Пример : class Test where T : V { //... }

Ограничение на интерфейс where T : имя _ интерфейса ! В этой форме ограничения может быть указан список интерфейсов через запятую.

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

Ограничение new () на конструктор Ограничение new () на конструктор позволяет получать экземпляр объекта обобщенного типа.

!!! Оно требует, чтобы аргумент типа предоставил конструктор без параметров.

Ограничения ссылочного типа и типа значения where T : class where T : struct

Ключевое слово default Служит для безошибочного присвоения значения по умолчанию

class Gen where V : T Ограничения для связи параметров

Применение нескольких ограничений class Gen where T : MyClass, IMylnterface, new() { //... !!! Первым должно быть указано ограничение class либо struct, если оно присутствует, или же ограничение на базовый класс, если оно накладывается, далее по списку должно следовать ограничение на интерфейс, а последним по порядку ограничение new ().

Всем спасибо !