обоих классов — ByTwos и Primes. Для ясности в данном примере показаны все части программы, собранные в единый файл.
// Продемонстрировать интерфейсные ссылки, using System;
// Определить интерфейс, public interface ISeries {
int GetNext(); // возвратить следующее по порядку число void Reset(); // перезапустить
void SetStart(int х); // задать начальное значение
}
// Использовать интерфейс ISeries для реализации процесса // генерирования последовательного ряда чисел, в котором каждое // последующее число на два больше предыдущего, class ByTwos : ISeries { int start; int val;
val = start;
}
public void SetStart(int x) { start = x; val = start;
}
}
// Использовать интерфейс ISeries для реализации // процесса генерирования простых чисел.
class Primes : ISeries { int start; int val;
public Primes() {
start = 2; val = 2;
}
public int GetNextO { int i, j; bool isprime;
val++;
for(i = val; i < 1000000; i++) {
isprime = true; for (j = 2; j <= i/j; j++) {
if ( (i % j)==0) { isprime = false; break;
}
}
if (isprime) { val = i; break;
}
}
return val;
}
public void Reset() {
val = start;
}
public void SetStart(int x) { start = x; val = start;
}
}
class SeriesDemo2 { static void Main() {
ByTwos twoOb = new ByTwos();
Primes primeOb = new Primes();
ISeries ob;
for(int i=0; i < 5; i++) {
ob = twoOb;
Console.WriteLine('Следующее четное число равно ' + ob.GetNext()) ; ob = primeOb;
Console.WriteLine('Следующее простое число ' + 'равно ' + ob.GetNext());
Вот к какому результату приводит выполнение этой программы:
Следующее четное число равно 2 Следующее простое число -равно 3 Следующее четное число равно 4 Следующее простое число равно- 5 Следующее четное число равно 6 Следующее простое число равно 7 Следующее четное число равно 8 Следующее простое число равно 11 Следующее четное число равно 10 Следующее простое число равно 13
