![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 23.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
O klonowaniu obiektow wiem tyle ile wyczytalem w manualu, tzn. w jaki sposob sie klonuje itp. Nie mam problemu ze skladnia ani z zastosowaniem. Nie chce tego stosowac "na siłe", wiec nie stosuje w ogole. Obecnie jednak nachodzi mnie mysl, w jakich przypadkach takie klonowanie przydaje sie? Moglibyscie przytoczyc jakies typowe przyklady lub sytuacje w ktorych bez klonowania nie obejdzie sie? Z gory dzieki. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Zastosowań klonowania obiektu może być wiele. Możesz np. chcieć 'przepuścić' obiekty przez różne funkcje, które coś z nimi zrobią i porównać wyniki.
Można też sklonować obiekt na wypadek, gdybyś nie był pewny, czy przypadkiem nie będziesz musiał w którymś momencie aplikacji odwołać się do niego, ewentualnie jeśli "zepsujesz" oryginał, to zawsze możesz po prostu użyć kopii, zamiat tworzyć obiekt od nowa (to np. jest fajne, przy tworzeniu obiektów na podstawie bazy danych, bo jak zepsujesz dane, to nie musisz po raz drugi odpytywać bazy, tylko dobierasz się do wprost do obiektu). Na marginesie. W php5 domyślne przekazywanie obiektu jest dokonywane przez referencję, co jest szczególnie przydatne w projektach obiektowych, bo nie musimy się zastanawiać, na jakim obiekcie pracujemy. W php4 trzeba było używać (&) i prowadziło to niekiedy do trudno zauważalnych błędów. Można powiedzieć, że zmieniono nieco filozofię: Musisz jawnie powiedzieć, kiedy chcesz kopię obiektu. W php4 filozofia była dokładnie odwrotna. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 21:02 |