Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rozszerzanie klasy
Forum PHP.pl > Forum > PHP > Object-oriented programming
szamburdsz
Poprawcie mnie jeśli się mylę

Mam na przykład klase Content
  1. class Content
  2. {
  3. private $text;
  4.  
  5. public function text($text)
  6. {
  7. $this-> text = $text;
  8. }
  9.  
  10. public function show()
  11. {
  12. echo $this-> text;
  13. }
  14. }

I na przykład klasę rozszerzającą
  1. class DivContent extends content
  2. {
  3. public function show()
  4. {
  5. echo '<font color="red">'.$this-> text.'</font>';
  6. }
  7. }

I wywołanie klasy
  1. $divContent = new DivContent();
  2. $divContent-> text('jakis_text');
  3. $divContent-> show();

W rezultacie powinienem otrzymać czerwony jakiś_tekst.
Tak czy nie? A jeżeli nie to w jaki sposób rozwiązać ten problem.
Jest to tylko przykład.
LBO
Jeżeli deklarujesz atrybut jako prywatny, nie będzie on widoczny dla klasy dziedzczącej.

Spróbuj...

  1. protected $text


... i poczytaj o widoczności atrybutów w obiektach.

edit:
Podmieniłem link na bardziej adekwatny.
szamburdsz
O to właśnie chodziło, bardzo dziękuję za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.