Основное понятие:
Интерфейс - это набор логически связанных абстрактных членов. Интерфейс описывает функциональность классов, но не определяет способа ее реализации.
Синтаксис интерфейса:
interface имя_интерфейса
{
Список абстрактных методов
}
Реализация интерфейсов
Класс может иметь только одного предка, но реализовывать сколько угодно интерфейсов
• Пример
class Rectangle : Figure, IFigure
{
\\\\\\
}
Для интерфейса могут использоваться спецификаторы new, public, internal и private.
Спецификатор new применяется для вложенных интерфейсов.
По умолчанию интерфейс доступен только из
сборки, в которой он описан, по умолчанию используется спецификатор internal.
Все функциональные члены интерфейса по определению являются открытыми (public) и
абстрактными (abstract), поэтому при описании метода указывается только тип возвращаемого им значения и сигнатура.
Ограничения при использовании интерфейсов
1.Интерфейс не реализует методы.
2.Интерфейс не может определять поля, конструкторы, деструкторы или операторные методы.
3.Ни один член интерфейса не может быть объявлен статическим.
4.Методы неявно являются открытыми (public- методами), не разрешается явным образом указывать спецификатор доступа.
Пример интерфейса
interface IDraw
{
void Draw();
}
interface IFigure
{
void Move(double dx, double dy);
void Resize(double scalex, double scaley);
double X { set; get; } double Y { set; get; }
}