Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Dziedziczenie
propage
post
Post #1





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


Jak zrobić, aby moc miec wswolne zmienne dla kilku istancji danej klasy.
Chodzi to to, aby zmienne zdefiniowane w jedenj istancji klasy byly dostepne w drugiej instancji

  1. class abc
  2. {
  3. public $var;
  4.  
  5. function abc() { }
  6.  
  7. }
  8. class abcChild extends abc {
  9.  
  10. function abc() { }
  11. function set($var)
  12. {
  13. $this->var = $var;
  14. }
  15. function get()
  16. {
  17. echo $this->var;
  18. }
  19. }
  20. $abc = new abc();
  21.  
  22. $abc1 = new abcChild();
  23. $abc1->set('xxx');
  24. $abc2 = new abcChild();
  25. $abc1->get();
  26. $abc2->get();

Być może można to zrobić to przez dziedziczenie, w kazdym razie, chcę, aby ->get() w obu powyszych metodach zwrocilo "xxx", a nie tylko dla instancji abc1.

Ten post edytował propage 15.02.2010, 23:08:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Zastosuj zmienną statyczną.

  1. <?php
  2. class Foo
  3. {
  4. protected static $_zmienna = null;
  5.  
  6. public function set($value)
  7. {
  8. self::$_zmienna = $value;
  9. }
  10.  
  11. public function get()
  12. {
  13. return self::$_zmienna;
  14. }
  15. }
  16.  
  17. $o1 = new Foo();
  18. var_dump($o1->get()); // NULL
  19. $o1->set('aaa');
  20. var_dump($o1->get()); // aaa
  21. $o2 = new Foo();
  22. var_dump($o2->get()); // aaa
  23. $o2->set('bbb');
  24. var_dump($o2->get()); // bbb
  25. var_dump($o1->get()); // bbb
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 19:25