Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> OOP - Wywoływanie konstruktora klasy nadrzędnej, (wymuszenie wywołania konstruktora klasy dziedziczonej)
nu_moon
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 26.01.2006

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


Witam,

Pisze sobie właśnie pewien projekt w celach szkoleniowych i uparłem się na OOP.
Chciałbym zapytać, czy jest możliwość wymuszenia wywołania konstruktora klasy bazowej tj.

Mam klase A, z której dziedziczy klasa B.

W klase B moge coprawda wywołać parent::__construct()
ale konieczne byłoby wymuszenie wywołania konstruktora automatycznie,

Czy istnieje taka możliwość ?
Go to the top of the page
+Quote Post
LBO
post
Post #2





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

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


Automatycznie nie da rady (tj np w C#), ale można zrobić trik:

  1. <?php
  2. abstract class A
  3. {
  4.   final public function __construct()
  5.   {
  6.       // przygotowujemy obiekt
  7.       $this->setup();
  8.   }
  9.  
  10.   abstract protected function setup();
  11. }
  12.  
  13. class B extends A
  14. {
  15.    protected function setup()
  16.    {
  17.        // dodatkowe czynności przygotowujące obiekt
  18.    }
  19. }
  20.  
  21. $b = new B;
  22. ?>


Ten post edytował LBO 28.07.2009, 07:14:30
Go to the top of the page
+Quote Post

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: 23.08.2025 - 19:39