Abstract class method declaration
<p>I just wrote code like this:</p>

<pre><code>&lt;?php
class test
{
// Force Extending class to define this method
abstract protected function getValue();
abstract protected function prefixValue($prefix);

// Common method
public function printOut() {
    print $this-&gt;getValue() . "\n";
}
}
class testabs extends test{

public function getValue()
{

}
public function prefixValue($f)
{

}
}
$obj = new testabs();
?&gt;
</code></pre>

<p>When I run this code, I received the error below:</p>

<blockquote>
  <p>Fatal error: Class test contains 2 abstract methods and must therefore be declared abstract <strong>or implement the remaining methods (test::getValue, test::prefixValue)</strong> in C:\wamp64\www\study\abstract.php on line 12</p>
</blockquote>

<p>I understand the first part of this error. I changed the class test to abstract and the error is gone, but the <code>or</code> part i can't understand. </p>