![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 3.07.2003 Skąd: Szczecin->niebuszewo->*(next to window) Ostrzeżenie: (0%) ![]() ![]() |
jest taki kod, dla uprosczenia skopiowany z ksiazki ale podobny do mojego przypadku
kiedy zainkluduje obie klasy do skryptu otzymuje komunikat: Fatal error: Declaration of MySQL::connect() must be compatible with that of Database::connect() in 2.php on line 40 kiedy zmienia klase abstrakcyja na:
bledu nie ma, czy to znaczy ze atrybuty metody abstrakcyjnej musza sie zgadzac z atrybutami metody dziedziczacej? Ten post edytował squid 24.03.2005, 18:08:29 |
|
|
![]() |
![]()
Post
#2
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 3.07.2003 Skąd: Szczecin->niebuszewo->*(next to window) Ostrzeżenie: (0%) ![]() ![]() |
no normalnie nie wnioslbym sprzeciwy ale powyzszy przyklad skopiowalem z ksiazki: Upgrading to php 5. Taki blad w ksiazce?
co sie na tym swiecie dzieje (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) thnx |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat Abstrakcja wskazuje natomiast nie tylko jakie funkcje mozemy wywolac na obiekcie ale tak w jaki sposob mamy ta funkcje wywolac (z jakimi argumentami) oraz co powinnismy otrzymac spowrotem (okreslony typ danych - w php5 nie ma czegos takiego). Ok, jesli to prawda co piszesz to skad sie wzial blad?? Czyli jednak php5 dziala tak jak powinien, musisz zdeklarowac w klasie abstrakcyjnej wszystkie parametry. Cytat no normalnie nie wnioslbym sprzeciwy ale powyzszy przyklad skopiowalem z ksiazki Bledy sie zdazaja, a najgorsze jest to ze w manualach i w ksiazkach. W ksiazce do Postgresa "PostgreSQL - praktyczny przewodnik" autor/tlumacz tak sie rozpedzil z tlumaczeniem ze przetlumaczyl kod sql. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
@seraf - a czy ideą interfejsu jest brak instancji również (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Czy pomylilem z Services...
|
|
|
![]()
Post
#6
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Pytanie wydaje mi się nieco nie przemyślane.
Jak można wyobrazić sobie instancję interfejsu, czyli takiej klasy, która nie ma żadnego "ciała" ? |
|
|
![]()
Post
#7
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(NuLL @ 2005-03-24 21:02:49) @seraf - a czy ideą interfejsu jest brak instancji również (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Czy pomylilem z Services... Dla mnie ideą interfejsu jest wymuszenie określonego intejfejsu (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) (Głupio to brzmi ;]) Np piszemy sobie klasę do obsługi bazy danych i dajemy możliwość rozszerzania o kolejne sterowniki dla różnych baz, wtedy pisze jakiś interfejs dla tych sterowników i mamy pewność, że te metody będą zaimplementowane (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 105 Pomógł: 0 Dołączył: 16.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
W interfejsach też podaje się listę argumentów! Interfejs jest właśnie po to, aby można było sprecyzować co ma klasa!
|
|
|
![]()
Post
#9
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(serafin @ 2005-03-25 09:58:12) Interfejs w tym przypadku jest tylko lista metod ktore musimy zaimplementowac a Abstrakcja to jak je musimy zaimplementowac (lacznie z lista argumentow) serafin, zobacz co się stanie jak zaimplementujesz w ten sposób interfejs
(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 15:31 |