Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Object-oriented programming _ przekazanie w parametrze funkcji obiektu klasy

Napisany przez: damianooo 3.11.2019, 20:39:24

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 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. }

Napisany przez: Pyton_000 4.11.2019, 15:05:23

A możesz podać przykład z życia? Bo coś mi się wydaje że nie to chcesz o co prosisz smile.gif

Napisany przez: nospor 4.11.2019, 15:10:15

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)