abstract class Number {
private $value;
abstract public function value();
public function reset() {
$this->value = NULL;
}
}
class Integer extends Number {
private $value;
public function value() {
return (int)$this->value;
}
}
$num = new Integer; /* Okay */
$num2 = new Number; /* This will fail */
?>