Для чего используются интерфейсы? — КиберПедия 

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Для чего используются интерфейсы?

2019-12-21 171
Для чего используются интерфейсы? 0.00 из 5.00 0 оценок
Заказать работу

Интерфейсы определяют ряд методов (свойств, индексаторов, событий), которые должны быть реализованы в классе.

Интерфейсы используются для того, чтобы указать классам, что именно нужно реализовать в этих классах. Реализовывать нужно методы (свойства, индексаторы, события). Таким образом, интерфейс описывает функциональные возможности без конкретной реализации.

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

Какое отличие между интерфейсами и абстрактными классами?

В интерфейсе ни один из методов не должен иметь тела (реализации). Это означает, что в интерфейсе ни один из методов не должен иметь никакой реализации.

В абстрактном классе при описании метода тело класса (реализация класса) присутствует.

Сколько классов могут иметь реализацию методов интерфейса?

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

Сколько интерфейсов может быть реализовано в одном классе?

В одном классе может быть реализовано любое количество интерфейсов.

Какой общий вид описания интерфейса?

Интерфейсы объявляются с помощью ключевого слова interface. Общая форма описания интерфейса, в котором определяются методы, следующая:

interface имя

{

возвращаемый_тип1имя_метода1 (параметры1);

возвращаемый_тип2имя_метода2 (параметры2);

//...

возвращаемый_типNимя_методаN (параметрыN);

}

где

· имя – конкретное имя интерфейса;

· имя_метода1, имя_метода2, …, имя_методаN – имена методов интерфейсов;

· возвращаемый_тип1, возвращаемый_тип2, …, возвращаемый_типN – типы, которые возвращаются методами интерфейса;

· параметры1, параметры2, …, параметрыN – списки параметров методов интерфейса.

Кроме методов, в интерфейсах можно указывать свойства, события и индексаторы.

Какие элементы языка программирования можно указывать в интерфейсах?

В интерфейсах можно указывать:

· методы;

· свойства;

· индексаторы;

· события.

Как выглядит общая форма реализации интерфейса в классе?

Общая форма реализации интерфейса в классе имеет следующий вид:

class имя_класса: имя_интерфейса

{

// тело класса

...

}

где имя_интерфейса – имя интерфейса, методы (свойства, индексаторы, события) которого реализуются в классе. Класс обязательно должен реализовать все методы интерфейса.

Какая общая форма класса реализующего несколько интерфейсов?

Класс может реализовать несколько интерфейсов. В этом случае все интерфейсы определяются списком через запятую.

Общая форма класса реализующего несколько интерфейсов:

class имя_класса: имя_интерфейса1, имя_интерфейса2,..., имя_интерфейсаN

{

// тело класса

...

}

где имя_интерфейса1, имя_интерфейса2, …, имя_интерфейсаN – имена интерфейсов, которые должен реализовать класс. Класс должен реализовать все методы всех интерфейсов.

Пример объявления интерфейса и класса наследующего этот интерфейс

В данном примере интерфейсу присваивается имя IMyInterface. Рекомендовано к имени интерфейса добавить префикс ‘ I ’ в соответствии с общераспространенной практикой.

Интерфейс объявлен как public.

Public interface IMyInterface

{

Int MyGetInt(); // метод, возвращающий число типа int

Double MyGetPi(); // метод, возвращающий число Pi

Int MySquare(int x); // метод, возвращающий x в квадрате

Double MySqrt(double x); // метод возвращающий корень квадратный из x

}

В данном примере, в интерфейсе объявлено описание четырех методов, которые должны быть реализованы во всех классах, определяющих эти интерфейсы. Это методы: MyGetInt(), MyGetPi(), MySquare(), MySqrt().

Пример описания класса использующего этот интерфейс.

Public class MyClass: IMyInterface

{

// модификатор доступа public

Public int MyGetInt()

{

   return 25;

}

 

public double MyGetPi()

{

   return Math.PI;

}

 

public int MySquare(int x)

{

   return (int)(x * x);

}

 

public double MySqrt(double x)

{

   return (double) Math.Sqrt(x);

}

}

Все методы, которые определяются в классе, должны иметь тип доступа public. Если установить другой тип доступа (private или protected), то Visual Studio выдаст следующее сообщение:

"MyClass does not implement interface member MyFun() because it is not public."

где MyFun() – название функции, которая реализована в классе с модификатором доступа private или protected.

Это связано с тем, что в самом интерфейсе эти методы неявно считаются открытыми (public). Поэтому их реализация должна быть открытой.

Пример объявления двух интерфейсов и класса, который реализует методы этих интерфейсов

В нижеследующем примере объявлено два интерфейса с именами MyInterface и MyInterface2. Первый интерфейс содержит 4 методы. Второй интерфейс содержит 1 метод.

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


Поделиться с друзьями:

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.014 с.