Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Zmiana obiektu
ayeo
post 24.01.2008, 08:23:24
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 winksmiley.jpg
Pozdrawiam

Ten post edytował ayeo 24.01.2008, 12:19:58


--------------------
Go to the top of the page
+Quote Post
mike
post 24.01.2008, 08:27:47
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.
Go to the top of the page
+Quote Post
ayeo
post 27.01.2008, 19:55:56
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


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:05