Wyodrębnianie interfejsu

0

Hej :) odnośnie pewnego zadania. Miałem napisać funkcje rekurencyjną i iteracyjną dla pewnego ciągu.
No i napisałem, to raczej jestem pewien że jest git.

 static void Main(string[] args)
        {
            Console.WriteLine( RecursiveFunction(6)+Environment.NewLine);
            Console.WriteLine( IterativeFunction(6));
            

            double RecursiveFunction(int n)
            {
                if (n == 2)
                    return -8;
                if (n == 1)
                    return 1;
                return 1d / 2d * RecursiveFunction(n - 1) - 1d / 3d * RecursiveFunction(n - 2);


            }

            static double IterativeFunction( int n)
            {
                double m3 = 0, m1=1, m2=-8;
                for (int i = 3; i <= n; i++)
                {
                    m3=1d/2d*m2-1d/3d*m1;
                    m1 = m2;
                    m2 = m3;
                }
                return m3;
            }
        }

W kolejnym kroku mam wyodrębnić z klasy z zadania wyżej interfejsy i w sumie zastanawiam się o co może chodzić autorowi. Bo no nie jestem pewien mam napisać interfejs posiadający te dwie metody?

   double RecursiveFunction(int n);
   double IterativeFunction(int n);

Oprócz tego że nie wiem jak miałoby to działać to o to chodzi? Bo pojawia się wtedy problem że funkcje te muszą być zaimplementowane w klasie która ma ten interefejs - w moim Program. Wcześniej domyślnie te dwie funkcje były w Mainie (lokalnie? to poprawne nazewnictwo? funkcja w funkcji). Teraz jeżeli chce podpiec interfejs muszę je wyrzucić poza Main (chyba) i wtedy no żeby je widzieć z wnętrza funkcji Main muszę dopisać static albo wrzucić do innej klasy która se zaimplementuje ten interfejs i potem w Mainie stworzyć obiekt tej klasy. Druga opcja śmiga, pierwsza ma problem że ten zaimplementowany interfejs jest static, pozostałbym zatem przy drugiej opcji z zdania poprzedniego.
Co o tym myślicie, mój tok rozumowania jest okay, co miał na myśli autor? :D
Z góry dzięki za poświęcony mi czas, pozdrawiam Michał :)

2

Autor prawie na pewno miał na myśli, zebyś napisał Interfejs z jedną metodą, ZróbCośNaCiągu a potem żebyś napisał 2 klasy implemetujące ten interfejs, jeden z iteracyjną implemetacją i jeden z implemetacja rekurencyjną. W main'nie wołasz te funckje tworzą nowe instacje tych klas.

1 użytkowników online, w tym zalogowanych: 0, gości: 1