![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 9.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Od niedawna mam pewien problem. Otóż załóżmy, że mamy klasy a, b i c. Klasa c to klasa główna która po kolei tworzy obiekty a i b. Klasa a dziedziczy klasę c i np. definiuje: $this -> foo = 'bar'; Klasa b również dziedziczy klasę c i wyświetla na ekranie $this -> foo; Niestety na ekranie nie pokazuje się 'boo'. :/ Mniej więcej tak by to wyglądało:
Mógłby ktoś powiedzieć w czym jest problem oraz ew. jak go rozwiązać? z góry dziękuję za odpowiedzi. pozdrawiam mrKrecik Ten post edytował mrKrecik 6.01.2007, 17:38:29 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Niestety - ale nie zrozumiałeś podstawowego założenia, jakie przyświeca programowaniu obiektowemu.
Wyobraź to sobie na przykładzie. Klasa C to Krzesło (schemat krzesła) Klasa A to KrzesłoDrewniane (projekt, jak je wykonać) Klasa B to KrzesloMetalowe ( -||- ) Stolarz tworzy krzesło drewniane, na podstawie A, a DOPIERO potem maluje je na zielono. Ślusarz produkuje krzesło metalowe, na podstawie B, a potem dziwi się, dlaczego nie są one od razu pomalowane. Nie sądzisz, że byłoby to nieco dziwne? W twoim przypadku tak wygląda sytuacja z Foo, niezależnie od tego, że taki zapis nie jest zalecany (tego typu rekurencja wydaje się wręcz zupełnie absurdalna, jeśli nie błędna) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 23:52 |