<?php class AbstractClass /* abstract */ { // Force Extending class to define this method function getValue() /* abstract protected */ { trigger_error('Abstract method AbstractClass::getValue() must be reimplemented', E_USER_ERROR); } function prefixValue($prefix) /* abstract protected */ { trigger_error('Abstract method AbstractClass::prefixValue() must be reimplemented', E_USER_ERROR); } // Common method function printOut() { print $this->getValue() . "\n"; } } ?>