![]() |
![]() |
-aah- |
![]()
Post
#1
|
Goście ![]() |
Klasa rodzic ma w sobie konstruktor, chce utworzyć klasę dziecko która po niej dziedziczy jednak w niej też ma być konstruktor, czy w PHP5 powinno robić się to przy pomocy
Cytat parent::__construct(); i po tym wstawić kod w klasie dziecka? Bo czytam różne opinie i ponoć jest to pozostałość po php4, więc jak to powinno być zrobione?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Z punktu widzenia PHP jak i samego OP jest to sposób poprawny. Jeśli klasa pochodna musi mieć własny konstruktor wykonujący to samo co klasy rodzica plus swoje polecenia to najlepszym sposobem jest właśnie w konstruktorze dziecka odpalić konstruktor rodzica a następnie dopisać kod już dla klasy dziecka.
A gdzie tak piszą że to pozostałość po PHP4? I jakie są inne metody? (IMG:style_emoticons/default/tongue.gif) |
|
|
-aah- |
![]()
Post
#3
|
Goście ![]() |
Kod A gdzie tak piszą że to pozostałość po PHP4? I jakie są inne metody? Między innymi tutaj na forum w kilku tematach coś takiego wyczytałem, lecz bez alternatywy. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W innych językach dla przykładu w java mamy coś co się nazywa super(). W PHP z tego co mi wiadomo czegoś takiego nie ma, za to jest parent::__construct().
Nie ma chyba to alternatywy. Ważne jest jedynie to, że gdy konstruktor dziecka ma robić dokładnie to samo co rodzica to nie potrzeba w dziecku w ogóle deklarować konstruktora - domyślnie odpalony zostanie konstruktor rodzica. Nie widzę tutaj żadnych przesłanek mówiących że to zaszłość z PHP4 - ale głowy uciąć nie dam - jeśli ktoś zna inną metodę - niech poda (IMG:style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:57 |