Модуль 10 Интерфейсы
186.50K
Категория: ПрограммированиеПрограммирование

Интерфейсы: interface IMy

1. Модуль 10 Интерфейсы

interface IMy
{
string LastName { get; set; }
string this[int index]
{
get; set;
}
void My();
}
class:
class My_Class: IMy
{
public string LastName { get; set; }
string[] _names = new string[5];
public string this[int index]
{
get
{
return _names[index];
}
set
{
_names[index] = value;
}
}
public void My()
{ }
}
1

2.

Особенности интерфейсов
Только
заголовки методов.
Реализация
методов отсутствует.
Нельзя
создать экземпляр интерфейса, однако,
можно создать переменную типа интерфейса,
ведь это ссылочный тип данных. Такая
переменная может указывать на объект класса,
реализующего данный интерфейс.
Перед
методом не нужно ставить "public", т.к.
метод в интерфейс по умолчанию является
"public" и "virtual".
2

3.

Интерфейсные ссылки
3

4.

Интерфейсные свойства и индексаторы
4

5.

Интерфейсные свойства
тип имя{
get;
set;
}
5

6.

Интерфейсные индексаторы
тип_элемента this[int индекс] {
get;
set;
}
6

7.

Наследование интерфейсов
interface IA
{
string A1(int n);
}
interface IB
{
int B1(int n);
void B2();
}
interface IC : IA, IB
{
void C1(int n);
}
7

8.

Явная реализация интерфейса
8

9.

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

10.

IEnumerable
IComparable
IComparer
ICloneable
©Павловская Т.А. (НИУ ИТМО)
10
English     Русский Правила