Мы посмотрим как в C# можно работать с интерфейсами. Смотрим код.
using System;
interface ITest
{
string Test();
}
class MyTest : ITest
{
public string Test()
{
return "Hello interface";
}
}
class MainClass
{
public static void Main(string[] args)
{
MyTest test = new MyTest();
Console.WriteLine(test.Test());
}
}
Итак, интерфейс это набор абстрактных методов без реализации. Они в С# могут содержать методы, свойства и индексаторы. В нашем примере мы создали интерфейс ITest и описали в нем методы. Потом на основе этого интерфейса создали рельный класс MyTest где эти методы реализовали. А дальше использовали его в программе. В С# запрещено множественное наследование, подобные возможности должны достигаться наследование нескольких интерфейсов. Вот на такой код компилятор будет давать ошибку.
class P1
{
}
class P2
{
}
class MyTest : P1,P2, ITest Error
{
public string Test()
{
return "Hello interface";
}
}
Он скажет, что P2 не интерфейс. А вот множественное наследование интерфейсов разрешено. Код приведенный ниже будет работать без ошибок.
interface ITest
{
string Test();
}
interface IP1
{
}
class P2
{
}
class MyTest : P2,IP1, ITest
{
public string Test()
{
return "Hello interface";
}
}