![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Mam mały problem z dziedziczeniem wartosci ;]
Jeżeli stworzony przez obiekt klasy main obiekt klasy other zapisze w tablicy publicznej to obiekt klasy dziedziczącej tą tablice nie widzi jej elementow ;] Dlaczego? Szukam powiązania tak aby po stworzeniu obiektów 2 klas jeden uzyskał dostęp do drugiego po przez pośrednika - klase main ;]. Próbowałem stworzyć funkcję getIterate w klasie main ;] ale chyba coś pomieszałem bo nie działało... jakieś pomysły? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Musisz zmiksowac pewne rozwiazania. Jesli Twoj kontroler ma towrzyc obiekty innych klas to na mysl przychodzi wzorzec budowniczego. Wzorca obserwatora nie da sie u Ciebie zastosowac w klasyczny sposob poniewac jak rozumiem obiekty bedą oddzialywac na siebie na wzajem.
Pisalem kiedys cos takiego. Moj kontroler (menadzer) mial wlasciwosc statyczna, ktora byl obiekt implementujacy interfejs SplSubject (zobacz rozszerzenie SPL dla php) i sluzyl on przede wszystkim jako rejestr obiektow, ktore sie na wzajem obserwowaly - (implementowaly interfejs SplObserver). Jesli w jednym obiekcie zaszla zmiana wywolywana byla wybrana metoda statyczna kontrolera ktory wykonywal metode notify Subjecta informujac w ten sposob pozostale zarejestrowane obiekty o tym, ze w jednym z nich zaszla zamiana. Oczywiscie wywolanie metody notify u Subiecta jest rownoznaczne z wywolaniem metody update u Obserwatora. U mnie metoda update pobierala potrzebne informacje nie z obiektu subiekta przekazanego jako parametr metody update, ale z kontrolera poprzez wywolanie stosownej statycznej metody. Kontroler mial tylko statyczne wlasciwosci i metody. Tak to w wielkim skrocie dzialalo dla uproszczenia. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 21:13 |