Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dziedziczenie po klasie abstrakcyjnej
squid
post
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

  1. <?php
  2. abstract class Database {
  3.  
  4.     abstract public function connect( );
  5.  
  6.     abstract public function query( );
  7.  
  8.     abstract public function fetch( );
  9.  
  10.     abstract public function close( );
  11.  
  12. }
  13. ?>


  1. <?php
  2. class MySQL extends Database {
  3.  
  4.     protected $dbh;
  5.  
  6.     protected $query;
  7.  
  8.  
  9.  
  10.     public function connect($server, $username, $password) {
  11.  
  12.         $this->dbh = mysql_connect($server, $username, $password);
  13.  
  14.     }
  15.  
  16.  
  17.  
  18.     public function query($sql) {
  19.  
  20.         $this->query = mysql_query($sql, $this->dbh);
  21.  
  22.     }
  23.  
  24.  
  25.  
  26.     public function fetch( ) {
  27.  
  28.         return mysql_fetch_row($this->query, $this->dbh);
  29.  
  30.     }
  31.  
  32.  
  33.  
  34.     public function close( ) {
  35.  
  36.         mysql_close($this->dbh);
  37.  
  38.     }
  39.  
  40. }
  41. ?>


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:
  1. <?php
  2. abstract class Database {
  3.  
  4.     abstract public function connect( $server, $username, $password);
  5.  
  6.     abstract public function query( $sql);
  7.  
  8.     abstract public function fetch( );
  9.  
  10.     abstract public function close( );
  11.  
  12. }
  13.  ?>

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


--------------------
Jeśli życie to kara to nieźle nabroiłem ;-)
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.08.2025 - 21:35