Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 25.04.2003 Skąd: Olsztyn Ostrzeżenie: (0%)
|
Mam cztery klasy, jedna inicjująca, druga główna która składa się z samych właściwości, i dwie "równorzędne" bez właściwości dziedziczące wszystkie po głównej Ilustruje to poniższy kod:
No właśnie. Chcę mieć możliwość odwoływania się do klas równorzędnych z tych klas tzn. klasa równorzędna -> klasa główna -> druga klasa równorzędna -> funkcja tej klasy. (ostatnia linijka kodu). Oraz mam problem z "bierzaca aktualizacja" wlasciwosci klasy glownej tak, aby te aktualizacje byly odrazu widoczne w klasach rownorzednych niestety nie wychodzi mi to. Ma ktos pomysl jak to rozwiazac? Na wiki.php.pl natrafiłem na wzorzec 'Obserwator'.Mysle ze tu tkwi rozwiazanie mojego problemu, ale nie moge zaimplementowac tego pod 4. Czy podarzam wogole w dobrym kierunku? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 25.04.2003 Skąd: Olsztyn Ostrzeżenie: (0%)
|
Moje zamierzenie było nastepujace: na poczatku mialem jedna klase i wszystko wepchane do niej. Niestety z biegiem czasu rozrosła mi sie tak bardzo ze juz sie gubilem. Wiec podzielilem ja, na pare mniejszych, ale dla kazdej z nich musiałbym tworzyć taki sam oddzielny zestaw własciwości. Więc utworzyłem klasę główną która miała *same* właściwości a reszta klas po niej dziedziczyła. Dzieki temu myslalem ze problem zostal rozwiazany - wszystkie klasy maja te same wlasciwosci.
Lecz tu pojawił się problem jeżeli z poziomu w jednej klasy zmienię właściwość klasy głównej to w drugiej klasie nie mam tej wartości zmienionej lecz domyślną lub null. Jak to hm... "obejsc" aby w klasach dziedziczacych zawsze miec "zaktualizowane" dane? |
|
|
|
radziel Aktualizacja wlasciwosci w dwoch obiektach 26.04.2005, 14:21:11
hawk No pewnie, że masz fatal error, bo $run->o... 26.04.2005, 14:33:43
ebe albo wlasciwosci statyczne, albo wzorzec observer.... 26.04.2005, 15:33:13
hawk Źle podzieliłeś swoje klasy i tyle. Jeżeli dla każ... 27.04.2005, 09:44:12 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 13:49 |