Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obiekt w obiekcie, i odziedziczenie konkretnej zmiennej
Bastion
post
Post #1





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

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


Witam,

Przypuscmy ze mam klase :

  1. <?php
  2. class klasa
  3. {
  4. private $var = null;
  5.  
  6. public function pobierz()
  7. {
  8. return $this->var;
  9. }
  10.  
  11. public function funkcja_a()
  12. {
  13. $this>var = 'bleble';
  14. }
  15.  
  16. public function funkcja_b()
  17. {
  18. $b = new klasa;
  19. print $b->pobierz();
  20. }
  21. }
  22.  
  23. $a = new klasa;
  24. $a -> funkcja_a();
  25. $a -> funkcja_b();
  26.  
  27. ?>


I chce aby podklasa $b wyswietla zmienna "var" klasy rodzica, myslalem
aby zrobic cos takiego aby w funkcja_ wygladala tak :

  1. <?php
  2. public function funkcja_b()
  3. {
  4. $b = new klasa;
  5. $b->var = $this->var;
  6. print $b->pobierz();
  7. }
  8.  
  9. ?>

ustawiajac przy tym by var bylo publiczne, mysle jednak ze jest jakis inny sposob
o ktorym nie wiem...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
dr_bonzo
post
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%)
-----


Rodzic a drugi obiekt tej samej klasy to cos zupelnie innego, jak chcesz miec zmienna dostepna we wszystkich obiektach klasy to:

  1. <?php
  2. class klasa
  3. {
  4.     static private $var = null;
  5.  
  6. ...
  7.  
  8. self::$var = ....
  9.  
  10. ?>



----------
edit:

mozna tez tak
  1. <?php
  2.  
  3. class Klasa
  4. {
  5. private $value = NULL;
  6.  
  7. public function __construct( $value = NULL )
  8. {
  9. $this->$value = $value;
  10. }
  11.  
  12. public function getValue()
  13. {
  14. return $this->value;
  15. }
  16.  
  17. public function createChild()
  18. {
  19. return new Klasa( $this->getValue() );
  20. }
  21. }
  22. ?>


ale watosci $value nie beda zsynchronizowane -- jej zmiana w jednym z obiekcie nie wplynie na jej wartosc w pozostalych obiektach.
Go to the top of the page
+Quote Post
Bastion
post
Post #3





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

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


o to chodzilo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) wielkie dzieki!
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: 24.08.2025 - 18:04