"Proszę napisać referat nt "Programowanie obiektowe: metody zwykłe i statyczne - podobieństwa i różnice".
Po napisaniu i uważnym przeczytaniu referatu, proszę się zastanowić nad algorytmem z punktu 4 sprawozdania i kodem, który mu odpowiada.
Po przysłaniu referatu i wyjaśnienia, co jest źle w algorytmie, otrzyma pan ocenę 4.5. Ocena bez referatu to 2.0."
Jak widzicie jest o co walczyć. Niestety, ja nie jestem w stanie wychwycić gdzie ten błąd w moim algorytmie jest, może Wy mi pomożecie. Poniżej zamieszczam kod PHP i fragment algorytmu, w którym błąd się znajduje.
<?php require_once "./View/Gui.php"; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * Kontroller aplikacji * * @author rownol1 */ class Controller { /** * akcja wczytania danych z pliku */ const AKCJA_M_KONTR_WCZYTAJ_DANE_Z_PL_TXT = 1; /** * akcja wykonania operacji na zbiorach */ const AKCJA_M_KONTR_WYKONAJ_OPER_NA_ZBIOR = 2; /* * Wyświetlenie wyniku */ const AKCJA_M_KONTR_POKAZ_WYNIK = 3; /** * pokazanie gui.xhtml */ const AKCJA_M_KONTR_POKAZ_GUI_XHTML = 4; //1 /** * Wyznacza operację do wykonania * @return int akcja, jedna ze stałych klasy */ protected function getAction() { if ($_REQUEST['wczytaj'] == "Wczytaj") { return self::AKCJA_M_KONTR_WCZYTAJ_DANE_Z_PL_TXT; } } if ($_REQUEST['oblicz'] == "Oblicz") { return self::AKCJA_M_KONTR_WYKONAJ_OPER_NA_ZBIOR; } } if ($_REQUEST['wyswietl'] == "Pokaż wynik") { return self::AKCJA_M_KONTR_POKAZ_WYNIK; } } return self::AKCJA_M_KONTR_POKAZ_GUI_XHTML; //2 } /** * przetwarza ządanie użytkownika */ public function processRequest() { $akcja = $this->getAction(); //1 $gui = new Gui(); //2 if ($akcja == self::AKCJA_M_KONTR_WYKONAJ_OPER_NA_ZBIOR) { //3 $gui->onClickOblicz(); //3.1 } if ($akcja == self::AKCJA_M_KONTR_POKAZ_WYNIK) { //4 $gui->onClickPokazWynik(); //4.1 } if ($akcja == self::AKCJA_M_KONTR_WCZYTAJ_DANE_Z_PL_TXT) { //5 $gui->onClickWczytaj(); //5.1 } $gui->show(); //6 } } ?>
A tutaj mój algorytm metody processRequest, w którym rzekomo znajduje się błąd.
Metoda processRequest:
1. Pobrac kod zdarzenia, które wybrał uzytkownik.
2. Stworzyc nowy obiekt klasy Gui(), przypisac go do zmiennej $gui.
3. Jesli AKCJA_M_KONTR_WYKONAJ_OPER_NA_ZBIOR :
3.1. Obliczyc iloczyn (metoda onClickOblicz() klasy Gui).
4. Jesli AKCJA_M_KONTR_POKAZ_WYNIK :
1
4.1. Wyswietlic wynik obliczen (metoda onClickPokazWynik() klasy Gui).
5. Jesli AKCJA_M_KONTR_WCZYTAJ_DANE_Z_PL_TXT :
5.1. Wczytac zbiory zapisane w pliku dane.txt (metoda onClickWczytaj() klasy Gui).
6. Wywołac metode show() klasy Gui.
Z góry dzięki za pomoc.
