Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> konstruktot w klasie abstrakcyjnej
joytec
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.06.2005

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


witam.

mianowicie mamy pewna klase abstrakcyjna i w niej konstruktor. w parametrze konstruktora dodajemy obiekt. Chce wywolac metode na tym obiekcie w osobnej metodzie w klasie abstrakcynej "operacjaobiekt" i z kolei te metode w klasie potomnej "Jakastampotomna" w metodzie "metoda_w_klasie_potomnej". Teraz pytanie nie wiem jak dodac obiekt do konstruktora klasy abstrakcyjnej, z tego co wiem nie mozna tworzyc instancji klas abstrakcyjnych. Czy ten konstruktor tworzy ten obiekt automatycznie po wywolaniu metody w klasie potomnej. Nie wiem prosze o jakies sugestie. Dzieki.

  1. <?php
  2. abstract class Security{
  3. private $_action;
  4. public function __construct($var){
  5.  $this->_action = $var;
  6. }
  7. public function operacjaobiekt(){
  8.  $this->_action->jakasmetoda();
  9. }
  10. }
  11.  
  12. class Jakastampotomna extends Security{
  13. public function metoda_w_klasie_potomnej(){
  14.  $this->operacjaobiekt();
  15. }
  16. }
  17. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


A zostanie wywolany gdy nie nadpiszemy konstruktora; a gdy nadpiszemy to nie zostanie
  1. <?php
  2.  
  3. class Rodzic
  4. {
  5. public function __construct()
  6. {
  7. print( "Konstruktor rodzica <br />" );
  8. }
  9. }
  10.  
  11. class DzieckoBezKonstruktora extends Rodzic
  12. {
  13. }
  14.  
  15. class DzieckoZKonstruktorem extends Rodzic
  16. {
  17. public function __construct()
  18. {
  19. print( "Konstruktor DzieckoZKonstruktorem<br />" );
  20. }
  21. }
  22.  
  23. class DzieckoZKonstruktoremIWywolaniemKonstrRodzica extends Rodzic
  24. {
  25. public function __construct()
  26. {
  27. print( "Konstruktor DzieckoZKonstruktoremIWywolaniemKonstrRodzica + " );
  28. parent::__construct();
  29. }
  30. }
  31.  
  32. print( '<hr />' );
  33. $r = new Rodzic();
  34. print( '<hr />' );
  35. $dbk = new DzieckoBezKonstruktora(); // wywola konstruktor rodzica
  36. print( '<hr />' );
  37. $dzk = new DzieckoZKonstruktorem(); // nie wywola k. rodzica bo zostal napisany
  38. print( '<hr />' );
  39. $dzkiwkr = new DzieckoZKonstruktoremIWywolaniemKonstrRodzica(); // reczne wywolanie konstr. rodzica
  40. print( '<hr />' );
  41. ?>
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: 6.10.2025 - 06:02