ВУЗ:
Составители:
Рубрика:
99
6.3.1. Описание интерфейсов
Описание интерфейса имеет следующий вид:
<режим доступа> interface <имя_интерфейса>
{
<тип_результата> имя_метода1(<параметры>);
//
< тип_результата> имя_методаN(<параметры>);
}
Отметим, что в описании интерфейса режим доступа к методам не ука-
зывается – он всегда public. Имя интерфейса обычно начинается с бу-
квы I. Например, можно описать следующий интерфейс:
public interface IMyInterface
{
int Method1( );
double Method2( );
void Method3( );
}
Описание интерфейса почти эквивалентно описанию следующего абст-
рактного класса:
public abstract class MyInterface
{
public abstract int Method1( );
public abstract double Method2( );
public abstract void Method3( );
}
Однако абстрактные классы и интерфейсы имеют несколько важных
отличий:
интерфейс не может иметь никаких переменных (полей), а абст-
рактные классы могут иметь поля;
интерфейсы не могут иметь никакую реализацию методов, а абст-
рактные классы могут включать реализованные методы;
интерфейс может наследоваться только от интерфейсов, а абст-
рактный класс может быть производным от любого класса;
абстрактные классы могу иметь не public методы и свойства; в
интерфейсе все методы являются открытыми;
абстрактный класс может иметь конструктор, а интерфейс нет;
Реализация методов интерфейса выполняется в классах, которые
их наследуют. Причем класс, наследующий интерфейс, должен описы-
вать реализацию всех методов интерфейса, без исключения. Например:
public class MyClass : IMyInterface
{
public int Method1( ) {...}
Страницы
- « первая
- ‹ предыдущая
- …
- 97
- 98
- 99
- 100
- 101
- …
- следующая ›
- последняя »
