start = 0; val = 0;

}

public int GetNext() { val += 2; return val;

}

public void Reset()    {

val = start;

}

public void SetStart(int x) { start = x; val = start;

Как видите, в классе ByTwos реализуются три метода, определяемых в интерфейсе ISeries. Как пояснялось выше, это приходится делать потому, что в классе нельзя реализовать интерфейс частично.

Ниже приведен код класса, в котором демонстрируется применение класса ByTwos, реализующего интерфейс ISeries.

// Продемонстрировать применение класса ByTwos, реализующего интерфейс, using System;

class SeriesDemo { static void Main() {

ByTwos ob = new ByTwos();    /

for (int i=0; i < 5; i++)

Console .WriteLine ('Следующее число равно ' + ob. GetNext () ) ;

Console.WriteLine('ХпСбросить') ; ob.Reset();

for(int i=0; i < 5; i++)

Console.WriteLine('Следующее число равно ' + ob.GetNext());

Console.WriteLine('ХпНачать с числа 100');

ob.SetStart(100);

for(int i=0; i < 5; i++)

Console.WriteLine('Следующее число равно ' + ob.GetNext());

}

}

Для того чтобы скомпилировать код класса SeriesDemo, необходимо включить в компиляцию файлы, содержащие интерфейс ISeries, а также классы ByTwos и SeriesDemo. Компилятор автоматически скомпилирует все три файла и сформирует из них окончательный исполняемый файл. Так, если эти файлы называются ISeries . cs, ByTwos . cs и SeriesDemo. cs, то программа будет скомпилирована в следующей командной строке:

>csc SeriesDemo.cs ISeries.cs ByTwos.cs

В интегрированной среде разработки Visual Studio для этой цели достаточно ввести все три упомянутых выше файла в конкретный проект С#. Кроме того, все три компилируемых элемента (интерфейс и оба класса) допускается включать в единый файл. Ниже приведен результат выполнения скомпилированного кода.

Следующее число равно 2 Следующее число равно 4 Следующее число равно 6 Следующее число равно 8 Следующее число равно 10

Сбросить.

Следующее число равно 2 Следующее число равно 4 Следующее число равно 6 Следующее число равно 8 Следующее число равно 10

Начать с числа 100.

Следующее число равно 102 Следующее число равно 104 Следующее число равно 106 Следующее число равно 108 Следующее число равно 110

В классах, реализующих интерфейсы, разрешается и часто практикуется определять их собственные дополнительные члены. В качестве примера ниже приведен другой вариант класса ByTwos, в который добавлен метод GetPrevious () , возвращающий предыдущее значение.

// Реализовать интерфейс ISeries и добавить в // класс ByTwos метод GetPrevious ().

class ByTwos : ISeries {

int start;

int val;

int prev;

public ByTwos()    {

start = 0; val = 0; prev = -2;

}

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату