Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przekazanie w parametrze funkcji obiektu klasy
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Mam klasę A i klasę B.
Klasa B rozszerza klasę A o jedno pole.

Do funkcji test1() dostaję obiekt klasy B gdyż potrzebne mi są wszystkie pola (z obiektu A i (IMG:style_emoticons/default/cool.gif) , jednak do kolejnej funkcji (test2() ) wewnątrz tej nadrzędnej funkcji potrzebuję przekazać już tylko obiekt klasy A a więc bez pola klasy B.
Jak to uzyskać ? Obecnie w kolejnej funkcji dostaję o jedno pole za dużo.


Poniżej przykład:

  1. class A{
  2. String a1;
  3. String a2;
  4. }
  5.  
  6. class B{
  7. String a3;
  8. }
  9.  
  10.  
  11.  
  12. function test1(B b){
  13. ...
  14. test2(A a);
  15. }
  16.  
  17. function test2(A a){
  18.  
  19. ....
  20. }


Ten post edytował damianooo 3.11.2019, 20:40:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


A możesz podać przykład z życia? Bo coś mi się wydaje że nie to chcesz o co prosisz (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Skoro do funkcji przekazujesz obiekt B to masz tam obiekt B a nie zaden A C czy GROM WIE JAKI. Z obiektu B nie wykroisz sobie kawalka i bedziesz mial nagle obiekt A... Obiekt to obiekt - calosc.
Co najwyzej mozesz poprosic obiekt B by zwrocil ci pola, ktore sa wlasciwe dla obiektu A i na ich podstawie stworzyc nowy obiekt A.

Ale tak jak napisal Pyton: podaj przyklad z zycia wziety bo wyglada jakbys mocno przekombinowal

ps: w swoim przykladzie zapomniales dodac EXTENDS A
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 16:51