![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 1 Dołączył: 28.06.2009 Skąd: Great Britan Ostrzeżenie: (0%) ![]() ![]() |
Czesc mam taki problem:
Kod Fatal error: Declaration of Home::IndexAction() must be compatible with Controller::IndexAction() Chodzi o to ze mam kontroler Home ktory dziedziczy po klasie Controller ktora jest baza, mam w niej dwie metody abstrakcyjne
teraz w kontrolerze Home chcialem zrobic
ale mi nie pozwala i dostaje blad, myslalem nad interfejsami ale one dzialaja chyba w ten sam sposob tak? jakis workaround? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Metody abstrakcyjne działają w taki sposób, że określają (podobnie jak interfejsy) deklaracje metody jaką należy stworzyć w klasie pochodnej. Ze względu na to, że jest to rodzaj wymuszenia odpowiedniej deklaracji (nazwa + argumenty) metoda klasy dziedziczącej, która implementuje daną metodę abstrakcyjną musi być identyczna.
Jeżli w klasie bazowej masz zadeklarowaną metodę bez argumentów, oznacza to, że jest to takie wymuszenie by metoda w klasie pochodnej też ich nie przyjmowała. Jeśli korzystasz z gotowych (czyichś) klas musisz się tego trzymać, jeśli piszesz coś sam - musisz na poczatku zastanowić się i dobrze zadeklarować metody abstrakcyjne i trzymać się ich deklaracji w każdej klasie dziedziczącej. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 1 Dołączył: 28.06.2009 Skąd: Great Britan Ostrzeżenie: (0%) ![]() ![]() |
tego sie obawialem, dzieki i pozdrawiam
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 15:54 |