Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] dziedziczenie klas
Forum PHP.pl > Forum > PHP
propage
Mam pewien problem, gdy mam dwie klasy, przy czym jedna dziedziczy po drugiej, chciałbym zrobić tak, iż w klasie nadrzędnej przypisuje funkcje, ktore mają być wykonane w momencie gdy w klasie podrzędnej zostanie wykonana inna funkcja

  1. class a
  2. (
  3. function a()
  4. )
  5. class b extends a
  6. (
  7. function b()
  8.  
  9. )


Czyli w monecie $b->b() powinna wykonać się również $a->a() jest jakiś sposób, aby to zapisać w klasie a (bez dokładania dodatkowego kodu do klasy cool.gif?
wookieb
Po pierwsze teraz używamy __construct

  1. class a
  2. {
  3. public function __construct()
  4. {
  5.  
  6. }
  7. }
  8.  
  9. class b extends a
  10. {
  11. public function __construct()
  12. {
  13. parent::__construct();
  14. }
  15. }
Wiktor P.
Jeśli nie przeszkadza ci, że będzie to funkcja statyczna, to można
  1.  
  2. class b extends a {
  3.  
  4. public function b()
  5. {
  6. (...)
  7. a::a();
  8. }


A jeżli przeszkadza, to

  1. class b extends a {
  2.  
  3. public function b()
  4. {
  5. (...)
  6. parent::a();
  7. }
propage
Chodzi o to, aby obyć się kompletnie bez modyfikacji klasy b
yevaud
jesli metoda B uruchamia swojego parenta, to sie da.
jesli nie to nie bardzo i dobrze smile.gif
230005
Bez modyfikacji, czyli dopisania choć jednej linii kodu się nie da. A tak poza tym to jest jak napisał wookieb, no chyba że te dwie funkcje to nie konstruktory, tylko przez przypadek tak wyglądają to zrób jak pisze wiktor...
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.