![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 607 Pomógł: 23 Dołączył: 8.09.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam. Napisałem klasę Modules i rozszerzam ją klasą Links.
teraz wywołuję:
efekt: Kod Fatal error: Call to undefined method Modules::t() in ... on line 49 dlaczego? ![]() -------------------- Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
"extends" oznacza, że tworzona klasa jest rozszerzeniem/bardziej wyspecializowaną wersją innej, a nie że modyfikowana jest istniejąca już klasa. Innymi słowy: dziedziczenie działa w dół, nie w górę - to w Links masz dostęp do nie-prywatnych elementów klasy nadrzędnej.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 607 Pomógł: 23 Dołączył: 8.09.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Czyli tylko z Links mogę wywołać klasy publiczne z Modules. A jakbym użył parent::addExt(..); np?
chodzi mi o to, że mam klasę Modules w której chce trzymać wszystkie moduły. Czyli np podłaczę klasę Links i chcę, aby ona rozbudowała mi klasę modules, da się to jakoś zrobić, czy innego rozwiązania trzeba szukać? Dzięki i pozdrawiam -------------------- Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czyli tylko z Links mogę wywołać klasy publiczne z Modules. Publiczne (public) i chronione (protected) - prywatne (private) nie będą dostępne.Cytat A jakbym użył parent::addExt(..); np? Nie mam pojęcia co masz na myśli.Cytat chodzi mi o to, że mam klasę Modules w której chce trzymać wszystkie moduły. W takim razie trzymaj w tym obiekcie referencje do innych obiektów - zrób z niego typową kolekcję.Cytat Czyli np podłaczę klasę Links i chcę, aby ona rozbudowała mi klasę modules, PHP ma "typowy" model obiektowy, tj. oparty jest on na klasach - raz utworzonej klasy nie da się już zmienić - można co najwyżej tworzyć i używać bardziej wyspecjalizowanych typów (np. zamiast Telewizor możesz utworzyć TelewizorLCD, który dziedziczy po pierwszym)Doczytaj rozdział dot. OOP w manualu, bo brakuje Ci kompletnych podstaw. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:06 |