![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 18.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jest sobie klasa A, ktorej bardzo nie chcialbym zmieniac.
Stworzylem klase B extends A. Problem w tym, jak zrobic zeby to dzialalo: Kod $a = new A(); $b = (B)$a; ? (Aha, jakby to cos dalo albo da sie to zrobic inaczej to chodzi mi o dodanie metody do klasy sfGuardUser, a rzutowanie jest potrzebne dlatego ze sfGuardUserPear::retrieveByUsername() zwraca obiekt typu sfGuardUser. Chodzi oczywiscie o Symfony) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Nie ma rzutowania w php. Po prostu uzywasz metod z klasy ktorej instacja jest ten obiekt.
Po zatym takie cos nie przejdzie bo $a jest instacja klasy A, a nie B. Nie zmienisz typu obiektu (z A na (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) , mozesz tylko zmienic typ referencji do tego obiektu (z A do (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) dzieki czemu bedziesz mial (gdyby to byla java/c++) dostep do metod klasy B, spod tej referencji. Sens ma dopiero takie cos Kod //java
A a = new B(); B b = (B)a; |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 13:38 |