Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]czy ja muszę wywołać konstruktor rodzica w konstruktorze dziecka?
porzeczki
post 3.10.2016, 22:37:47
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 15.09.2016
Skąd: Warszawa

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


czy ja muszę wywołać konstruktor rodzica w konstruktorze dziecka czy on się automatycznie wywołuje gdy tworzę obiekt dziecka?
Go to the top of the page
+Quote Post
markonix
post 3.10.2016, 22:48:20
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Musisz albo inaczej - jeżeli chcesz/potrzebujesz to to robisz, a jeżeli nie to nie.
Lepiej chyba mieć decyzję niż mieć to narzucone.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 4.10.2016, 07:38:27
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


nie musisz. Do póki nie nadpiszesz konstruktora to ten z rodzica się wykona.

  1. <?php
  2.  
  3. class A {
  4. public function __construct() {
  5. echo 'AAA';
  6. }
  7. }
  8.  
  9. class B extends A {
  10. }
  11.  
  12. new B;
Go to the top of the page
+Quote Post
porzeczki
post 4.10.2016, 10:05:01
Post #4





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 15.09.2016
Skąd: Warszawa

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


obaj macie rację.

@markonix wyczytał z moich myśli, bo nie napisałem o tym, że chodzi mi o sytuację gdy dziecko ma konstruktor.
Go to the top of the page
+Quote Post
Pyton_000
post 4.10.2016, 11:34:35
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Ok. Jeśli w potomnej masz konstruktor a nie ma w nim "parent::__construct()" to się nie uruchomi z rodzica.
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 Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:46