ВУЗ:
Составители:
Рубрика:
100
public double Method2( ) {...}
public void Method3( ) {...}
//другие элементы класса
}
В языке C# класс не может быть наследником нескольких базовых
классов (нет множественного наследования). Однако разрешается
множественное наследование интерфейсов. Это означает, что класс
обязуется выполнять несколько контрактов. При описании класса, реа-
лизующего интерфейс, не нужно использовать такие модификаторы, как
new или override.
Для работы с объектами с помощью интерфейса нужно создать
экземпляр класса, реализующий этот интерфейс, и присвоить его пере-
менной, типом которой является название интерфейса. Например:
IMyInterface obj;
obj = new MyClass( );
obj.Method1( );
Однако в этом случае можно работать с методами, реализующими ин-
терфейс и с помощью переменной, типом которой является класс. На-
пример:
MyClass obj;
obj = new MyClass( );
obj.Method1( );
6.3.2. Два способа реализации интерфейсов
Способ реализации интерфейса, который был показан в предыду-
щем разделе, называется неявной реализацией интерфейса, так как от-
крытые методы с именем и сигнатурой, соответствующие, методам ин-
терфейса, неявно предполагаются реализацией этих методов интерфей-
са.
Другим способом является явная реализация интерфейсов. При
таком способе для всех методов, реализующих интерфейс, не задается
режим доступа (по умолчанию они считаются закрытыми) и их имя де-
лается составным <имя_интерфейса>.<имя_метода>, т.е. для каждо-
го метода указывается название интерфейса, в котором он описан. На-
пример:
public interface IMyInterface {
int Method1( );
double Method2( ) {...}
void Method3( ) {...}
}
public class MyClass : IMyInterface {
int IMyInterface.Method1( ) {...}
double IMyInterface.Method2( ) {...}
Страницы
- « первая
- ‹ предыдущая
- …
- 98
- 99
- 100
- 101
- 102
- …
- следующая ›
- последняя »
