Instancja klasy miesza się z instancją innej klasy..., ... jak to możliwe? ... |
Instancja klasy miesza się z instancją innej klasy..., ... jak to możliwe? ... |
16.03.2009, 21:07:40
Post
#1
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) |
Witam, napisałem sobię TRZY klasy;
- SearchInterface (Tak naprawdę to Singleton + jedna funkcja do obsługi błędów jak narazie) - GoogleSearch - RapidMegaSearch Oto testowe zastosowanie:
Klasa SearchInterface:
OBIE KLASY (GoogleSearch i RapidMegaSearch) DZIEDZICZĄ po SearchInterface, ale kiedy utworzę instancję klasy GoogleSearch, to przy tworzeniu instancji klasy SearchInterface instancja nie jest tworzona instancja klasy SearchInterface tylko zwracana jest GoogleSearch... Jeśli nie rozumiesz powyższego zdania, oto rysunek pomocniczy W klasie SearchInterface umieściłem:
I zwraca dla przykładu podanego wyżej: Cytat dla GoogleSearch GoogleSearch dla RapidMegaSearch Jak widać: - Tworzona jest instancja GoogleSearch - Przy próbie dostępu do nie istniejącej jeszcze instancji klasy RapidMegaSearch zwracana jest instancja klasy GoogleSearch. Moje pytanie: - Jak to wszystko naprawić? Chcę aby każda klasa zwracała Swoją instnację - czyli tak jak powinno być... Pozdrawiam, WebNuLL Ten post edytował Babcia@Stefa 16.03.2009, 21:15:50 -------------------- Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian |
|
|
16.03.2009, 21:18:40
Post
#2
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) |
Właśnie dlatego należy pisać dla każdej klasy wykorzystującej ten wzorzec oddzielną implementację.
Jedna jeśli się upierasz przy tym, to zrób ze zmiennej $instance zmienna tablicową której indeksami będą wartości przekazywane do getInstance() |
|
|
16.03.2009, 21:21:22
Post
#3
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) |
orglee, z tą tablicą to nawet ŚWIETNY pomysł - sam nie pomyślałem, dzisiaj jakoś nie myślę
Dzięki, szybko sprawdzę i napiszę czy działa, ale raczej powinno @edit Działa Pozdrawiam, WebNuLL Ten post edytował Babcia@Stefa 25.03.2009, 15:05:46 -------------------- Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 20:42 |