Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Dziedziczenie
propage
post 15.02.2010, 23:01:14
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
batman
post 15.02.2010, 23:06:49
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


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
Wilk002
post 15.02.2010, 23:17:11
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 4
Dołączył: 26.06.2007

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


Ewentualnie można użyć klonowania. Nie mniej może być z tym czasami problem. winksmiley.jpg

http://php.net/manual/pl/language.oop5.cloning.php
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: 26.06.2025 - 16:25