![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Załóżmy, że mam klasę ssak i dziedziczącą po niej klasę kot. Klasa ssak zawiera, powiedzmy, właściwości nazwa, wiek, płeć itd. Tworzę obiekt klasy ssak i wypełniam go danymi. Pytanie jest takie: co jeśli w którymś momencie zechcę ten obiekt przerobić na obiekt klasy kot? Chodzi mi o jakieś sprytne podejście ![]() Pozdrawiam Ten post edytował ayeo 24.01.2008, 12:19:58 -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Masz dwie możliwości:
1. Możesz spróbować rzutowania. Już nie wiem czy w PHP to zadziałą, za bardzo przyzwyczaiłem się do Javy. 2. Możesz napisać konstruktor dla Kota inicjujący go na podstawie ssaka. I to byłoby lepsze rozwiązanie. 3. Albo napisać funkcję w klasie Kot, która zwraca obiekt klasy Ssak. A czemu chcesz w tym kierunku zubażać obiekt? Proszę poprawić tytuł wątku na zgodny z zasadami pisania na Przedszkolu. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Wygląda to tak, że mechanizm sesji trzyma standardowo obiekt User (może być anonimowy). I chcę stworzyć obiekt Player na podstawie tego obiektu z sesji. Player dziedziczy po User. Mogę przepisać te dane, ale to nieeleganckie, poza tym musiałbym wtedy usuwać obiekt User, a to trochę komplikuje. Chce poprostu jakoś sprytnie zastąpić obiekt klasy User obiektem klasy Player zachowując wszystkie dane.
Pozdrawiam PS Obiekt Player nie zawsze będzie tworzony na podstawie obiektu User... odświerzam Ten post edytował ayeo 27.01.2008, 19:55:30 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:05 |