Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozszerzanie klasy
szamburdsz
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 16.01.2010
Skąd: Chodzież

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


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


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.

Ten post edytował LBO 28.01.2010, 21:33:33
Go to the top of the page
+Quote Post
szamburdsz
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 16.01.2010
Skąd: Chodzież

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


O to właśnie chodziło, bardzo dziękuję za pomoc.
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 Aktualny czas: 21.08.2025 - 10:14