![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 23.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem , jestem w trakcie przerabiania ksiazki php5 zaawansowane programowanie, zaloze sie ze wiele osob z forum przerabialo ta ksiazke, mianowicie chodzi o to:
Kod interface Observer{ public function update(); } abstract class Widget implements Observer { protected $internalData=array(); abstract public function draw(); public function update(Observable $subject){ $this->internalData=$subject->getData(); } } to jest kawałek aplikacji z w/w ksiazki, i uruchamiajac testowa aplikacje sprawdzajaca czy obiekty dzialaja wywala nastepujacy blad Fatal error: Declaration of Widget::update() must be compatible with that of Observer::update() in D:\Program Files\xampp\htdocs\php5\widget\abstract_widget.php on line 7 w czym tkwi błąd? przecież interfejsy mają na celu określać tylko 'gołe' metody, bez sposobu implementacji itd, zreszta przykład przepisałem z książki, zeby zobaczyc jak to działa gdy zmienie interfejs na Kod interface Observer{ public function update(Observable $subject); } to kod działa i pokazuje mi tabele z najnowszymi cenami instrumetow, pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
interfejs definiuje metode jak rowniez parametry do niej przekazywane, a u ciebie to sie rozni
Cytat zreszta przykład przepisałem z książki ksiazki maja to do siebie, ze są w nich byki -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 23.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
dzięki, dokladnie o to mi chodzilo, bo nie bylem pewny , z tego co czytalem interfejsy definiuja metody, bez ciała ani parametrow, widocznie zle czytalem, pozdrawiam
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:44 |