![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 27.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki oto interfejs:
Oraz klasę abstrakcyjną:
Kiedy dziedziczę po klasie Fnc oraz implementuje jednocześnie interfejs, mogę utworzyć klasę pochodną bez konstruktora!
Jak zmusić aby klasa Pochodna musiała zawierać konstruktor? Gdy dodam jakąś funkcję do interfejsu też muszę ją zaimplementować w klasie Pochodna. Gdy klasa Pochodna nie dziedziczyłaby po Fnc, interfejs działa tak jak powinien i wymaga aby Pochodna miała konstruktor. Również kiedy usunę konstruktor z klasy Bazowej (Fnc) zgłaszany jest błąd, że nie ma konstruktora, co może sugerować, że konstruktor w klasie Pochodnej jest odziedziczony z klasy bazowej ((IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ?) Pozdrawiam Ten post edytował bongdigibonbon 29.06.2007, 09:02:14 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Oznacz konstruktor jako abstrakcyjny i implementuj w pochodnej.
Cytat Nie rozumiem idei konstruktora w interfejsie, moze mi sie wydaje ale takich rzeczy sie nie robi Wydaje Ci się :roll2: Można i nawet często się robi. Pozdrawiam. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 27.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Oznacz konstruktor jako abstrakcyjny i implementuj w pochodnej. Może to dziwne, ale akurat konstruktor w klasie bazowej (Fnc) zawiera potrzebny kod, nie mogę oznaczyć go jako abstrakcyjny. Może dlatego, że konstruktor jest dziedziczony? Przecież od wersji 4.0 konstruktory nie podlegają dziedziczeniu. Choć z przytoczonego przeze mnie przykładu tak można wnioskować :/ |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 21:00 |