abstract
Aus php bar
Mit abstract (dt. Kurz- oder Zusammenfassung) werden Klassen oder Methoden erstellt die nur eine art 'Vorschau' auf die eigentliche Implementierung sind. Methoden die als abstract defniert werden, müssen in einer abgeleiteten Klasse überschrieben werden. Da 'abstracte' Methoden keine Funktion implementieren sondern lediglich die Signatur der Methode darstellen, ähnlich einer Schnittstelle.
Klassen die abstracte Methoden beinhalten müssen ebenfalls selber abstract sein.
1 abstract class Logger_DB 2 { 3 // Signatur für zu überschreibende Methode 4 abstract protected function insertQuery( $line ); 5 6 // in allen Logger_DB_* Klassen identische Methode 7 public function write( $line ) 8 { 9 $this->insertQuery( $line ) 10 } 11 } 12 13 class Logger_DB_Mysql extends Logger_DB 14 { 15 // überschreibe Signatur mit kompletter Methode 16 protected function insertQuery( $line ) 17 { 18 mysql_query( 'INSERT INTO `table` SET `log_entry` = ' . $line ); 19 } 20 }
Fatal Error:
1 $logger = new Logger_DB; 2 $logger->write( 'Error 10123' );
Richtig:
1 $logger = new Logger_DB_Mysql; 2 $logger->write( 'Error 10123' );
Kategorien: OOP | Schlüsselwort | PHP 5

