Изучаю 
полиморфизм - способность класса-родителя использовать функции, классов-потомков, даже если неизвестно реализованы функции-потомков или нет.
Вот написал элементарный код, без реализации, выдаёт ошибку:
abstract class Db{
	abstract function db_conn();     
	abstract function db_open();     
	abstract function db_query();    
	abstract function db_close();     
}
class B extends Db{
	function db_conn() {}; 
	function db_open() {};     
	function db_query() {};    
	function db_close() {};  
}
$o1 = new B;
	
	| 
		
			 Цитата: 
		
	 | 
	| 
		Parse error: syntax error, unexpected ';', expecting T_FUNCTION in C:\www\htdocs\test.ru\www\index.php on line 11
	 | 
	
Дальше, пробую по примеру в книге вот этот код, который в классе-родителе
вызывают функцию из производного класса, но интерпретатор тоже ругается.
<?php
class A {
// Выводит, функция какого класса была вызвана
function Test() { echo "Test from A\n"; }
// Тестовая функция — просто переадресует на Test()
function Call() { Test(); }
}
class B extends A {
// Функция Test() для класса B
function Test() { echo "Test from B\n"; }
}
$a=new A();
$b=new B();
$a->Call(); // выводит "Test from A"
$b->Test(); // выводит "Test from B"
$b->Call(); // Внимание! Выводит "Test from B"!
?>
	
	| 
		
			 Цитата: 
		
	 | 
	| 
		Fatal error: Call to undefined function Test() in C:\www\htdocs\test.ru\www\index.php on line 7
	 |