SlideShare a Scribd company logo
Обобщенные классы в C# КиньзибаевРашид
Обобщенные классы в C# Обобщение есть  параметризированный тип
Обобщенные классы в C# Общий вид обобщенного класса: class имя_класса<список_параметров_типа> {  // … }
Обобщенные классы в C# Пример: classGen<T> {  	Т ob;  publicGen(T о) {  ob = о;  	}  public T GetOb() {  returnob;  }
Обобщенные классы в C# class TwoGen<T, V> { //  . . .  }
Обобщенные классы в C# Ограниченные типы - безопасность и надежность
Обобщенные классы в C# Ограничение на базовый класс !благодаря этому  ограничению устанавливается взаимосвязь между двумя параметрами типа
Обобщенные классы в C# Пример: class Test<T> where T : А { // . . . }
Обобщенные классы в C# Пример: class Test<T,V> where T : V { // . . . }
Обобщенные классы в C# Ограничение на интерфейс where T : имя_интерфейса !В этой форме ограничения может       быть указан список интерфейсов  через запятую.
Обобщенные классы в C# !!! Если ограничение накладывается одновременно на базовый класс и   интерфейс, то первым в списке должен быть указан базовый класс.
Обобщенные классы в C# Ограничение  new () на конструктор  Ограничение new () на конструктор позволяет получать экземпляр объекта обобщенного типа.
Обобщенные классы в C# !!!Оно требует, чтобы аргумент типа предоставил конструктор без параметров.
Обобщенные классы в C# Ограничения  ссылочного типа и типа значения  where T : class  where T: struct
Обобщенные классы в C# Ключевое слово default Служит для безошибочного присвоения  значения по умолчанию
Обобщенные классы в C# Ограничения для связи параметров class Gen<T, V> where V : T
Обобщенные классы в C# Применение нескольких ограничений  class Gen<T> where T : MyClass, IMylnterface, new() {  // ...  !!!Первым должно быть указано ограничение class либо struct, если оно присутствует, или же ограничение на базовый класс, если оно накладывается, далее по списку должно следовать ограничение на интерфейс, а последним по порядку — ограничение new ().
Обобщенные классы в C# Всем спасибо!

More Related Content

Similar to Обобщенные классы в C#

Классы и объекты С#
Классы и объекты С#Классы и объекты С#
углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]Technopark
 
C++ осень 2013 лекция 5
C++ осень 2013 лекция 5C++ осень 2013 лекция 5
C++ осень 2013 лекция 5Technopark
 
Coding Standards
Coding StandardsCoding Standards
Coding Standardsroadhump
 
C# Desktop. Занятие 02.
C# Desktop. Занятие 02.C# Desktop. Занятие 02.
C# Desktop. Занятие 02.
Igor Shkulipa
 
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследование
metaform
 
C++ осень 2012 лекция 2
C++ осень 2012 лекция 2C++ осень 2012 лекция 2
C++ осень 2012 лекция 2Technopark
 
паттерны программирования
паттерны программированияпаттерны программирования
паттерны программированияguestfc8ae0
 
Типы данных
Типы данныхТипы данных
Типы данных
MonsterXX
 
C++ весна 2014 лекция 5
C++ весна 2014 лекция 5C++ весна 2014 лекция 5
C++ весна 2014 лекция 5Technopark
 
C++ осень 2012 лекция 3
C++ осень 2012 лекция 3C++ осень 2012 лекция 3
C++ осень 2012 лекция 3Technopark
 
Java. Generic - шаблонные типы.
Java.  Generic - шаблонные типы.Java.  Generic - шаблонные типы.
Java. Generic - шаблонные типы.
Unguryan Vitaliy
 
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документированиеСтажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
7bits
 
C++ осень 2013 лекция 7
C++ осень 2013 лекция 7C++ осень 2013 лекция 7
C++ осень 2013 лекция 7Technopark
 
Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.
YakubovichDA
 
Декораторы в Python и их практическое использование
Декораторы в Python и их практическое использование Декораторы в Python и их практическое использование
Декораторы в Python и их практическое использование
Sergey Schetinin
 

Similar to Обобщенные классы в C# (17)

Классы и объекты С#
Классы и объекты С#Классы и объекты С#
Классы и объекты С#
 
углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]
 
C++ осень 2013 лекция 5
C++ осень 2013 лекция 5C++ осень 2013 лекция 5
C++ осень 2013 лекция 5
 
Coding Standards
Coding StandardsCoding Standards
Coding Standards
 
C# Desktop. Занятие 02.
C# Desktop. Занятие 02.C# Desktop. Занятие 02.
C# Desktop. Занятие 02.
 
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследование
 
C++ осень 2012 лекция 2
C++ осень 2012 лекция 2C++ осень 2012 лекция 2
C++ осень 2012 лекция 2
 
паттерны программирования
паттерны программированияпаттерны программирования
паттерны программирования
 
Типы данных
Типы данныхТипы данных
Типы данных
 
C++ весна 2014 лекция 5
C++ весна 2014 лекция 5C++ весна 2014 лекция 5
C++ весна 2014 лекция 5
 
C++ осень 2012 лекция 3
C++ осень 2012 лекция 3C++ осень 2012 лекция 3
C++ осень 2012 лекция 3
 
Java. Generic - шаблонные типы.
Java.  Generic - шаблонные типы.Java.  Generic - шаблонные типы.
Java. Generic - шаблонные типы.
 
лекция №1
лекция №1лекция №1
лекция №1
 
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документированиеСтажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
 
C++ осень 2013 лекция 7
C++ осень 2013 лекция 7C++ осень 2013 лекция 7
C++ осень 2013 лекция 7
 
Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.
 
Декораторы в Python и их практическое использование
Декораторы в Python и их практическое использование Декораторы в Python и их практическое использование
Декораторы в Python и их практическое использование
 

Обобщенные классы в C#