Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dziedziczenie konstruktora
Speedy
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

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


hej,

Wiem, że bodajże były już tutaj podobne tematy, ale mimo wszystko jedno mnie dziwi.
W związku z tym mam krótkie pytanie: Czy php nie dziedziczy automatycznie konstruktora?

Wygodniej byłoby, gdyby był dziedziczony automatycznie, ale niestety tak się nie dzieje lub coś przeoczyłem.
W każdym razie, czy zawsze w celu wykonania operacji, które są przeprowadzane w konstruktorze klasy rodzica trzeba robić taki numer:

  1. <?php
  2.  
  3. class przykladowaKlasa extends InnaKlasa {
  4.  
  5.  public function __construct()
  6.  {
  7. parent::__construct();
  8.  }
  9.  
  10. }
  11.  
  12. ?>


?

Wydaje mi się to nieco dziwne, ale inaczej nie działa. Stąd moje pytanie winksmiley.jpg.

Pozdrawiam.


--------------------
Sygnatura niezgodna z regulaminem.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A tu twoja odpowiedź:
http://www.php.net/manual/pl/language.oop5.decon.php

i na przyszlosc staraj sie uzywac tego cuda jakim jest manual.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mike
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(Speedy @ 30.10.2006, 17:48:52 ) *
Czy php nie dziedziczy automatycznie konstruktora?
A jaki język dziedziczy konstruktor, że taki zdziwiony jesteś ? tongue.gif
Podpowiem: Żaden tongue.gif
Go to the top of the page
+Quote Post
Speedy
post
Post #4





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

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


Sorry, niestety nie znam jeszcze żadnego innego języka programowania prócz php tongue.gif.
Konstruktor też jest metodą, a gdyby był dziedziczony, możnaby sobie oszczędzić tych 3 linijek... Zresztą mniejsza z tym. Uważam, że można zakończyć dyskusję.


--------------------
Sygnatura niezgodna z regulaminem.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #5





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

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


  1. <?php
  2.  
  3. class ParentKlass
  4. {
  5. public function __construct()
  6. {
  7. print( "Parent::__construct()<br />" );
  8. }
  9. }
  10.  
  11. class ChildKlass extends ParentKlass
  12. {
  13.  
  14. }
  15.  
  16. $c = new ChildKlass();
  17. ?>


Wynik:
Kod
Parent::__construct()


Tylko gdy zdefiniujesz w dziecku konstruktor, konstr. rodzica nie zostanie wykonany, dopoki sam go nie wywolasz (parent::__construct())


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Turgon
post
Post #6





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


Czyli tutaj chciałbym Ci zwrócić uwagę na jedną rzecz. php będzie używać metodę rodzica dopóki nie przeciążysz (nadpiszesz) ją w podklasie.


--------------------
Jah Music Is On My Mind !
Go to the top of the page
+Quote Post
Speedy
post
Post #7





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

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


Już wiem, gdzie tkwił mój problem. Zrobiłem literówkę w jednej z klas tongue.gif.
Dzięki, za przykład, bo uświadomił mi, że to ja gdzieś w moich plikach zrobiłem błąd (który zresztą już wykryłem).
Wnioskując, konstruktor rodzica jest dziedziczony przez konstruktor dziecka jak każda inna metoda i można go nadpisać jak każdą inną metodę, wbrew temu, co napisał mike_mech snitch.gif.

Ten post edytował Speedy 30.10.2006, 23:25:51


--------------------
Sygnatura niezgodna z regulaminem.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #8





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

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


Speedy: mike_mech nic takiego nie napisal, to byla ironia??
Potraktuj jego wypowiedz doslownie -- "jezyk" nie dziedziczy "konstruktora" ale "klasa pochodna" tak biggrin.gif


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Speedy
post
Post #9





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

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


Byłem zmęczony, użyłem skrótu myślowego, a następnie zostałem złapany za słówko, a przecież wiadomo, o co mi chodziło, eh... sleep.gif

Ten post edytował Speedy 31.10.2006, 12:19:54


--------------------
Sygnatura niezgodna z regulaminem.
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 - 16:19