致命错误:类Validate包含1个抽象方法,因此必须在第21行的C:\ wamp\www\jump\task3\day8\abstract.php中声明为abstract或实现其余方法(BaseValidator :: SetRange)
<?php
abstract class BaseValidator
{
abstract function Validate($string);
abstract function SetRange($string);
}
class Validate extends BaseValidator
{
public function Validate($string)
{
if (!preg_match('/[^A-Za-z]/', $string))
{
echo "'{$string}' contains only alphabets!";
}
if (is_numeric($string))
{
echo "'{$string}' Conatins No. Only!<br/>";
echo '<br>';
}
}
}
class setRange extends BaseValidator
{
public function SetRange($string)
{
if(!(strlen($string)>4 && strlen($string)<10))
{
echo "You are not in range of 4-10";
}
}
}
$obj = new Validate();
$obj = $obj->Validate("Hello");
$obj = new SetRange("hello");
$obj = $obj->SetRange("hello");
?>
Run Code Online (Sandbox Code Playgroud)
Dar*_*ren 19
为您减少错误消息:
致命错误:类Validate包含1个抽象方法,因此必须在第21行的C:\ wamp\www\jump\task3\day8\abstract.php中声明为abstract或实现其余方法(BaseValidator :: SetRange)
Validate只包含1抽象方法.Validate扩展的类BaseValidator具有2抽象方法集.Validate)需要在其中指定第二个抽象方法(在这种情况下将是setRange()).这意味着您可以简单地在您的类中设置该函数但将其设置为空:
class Validate extends BaseValidator
{
public function Validate($string)
{
if (!preg_match('/[^A-Za-z]/', $string))
{
echo "'{$string}' contains only alphabets!";
}
if (is_numeric($string))
{
echo "'{$string}' Conatins No. Only!<br/>";
echo '<br>';
}
}
public function setRange($string) {}
}
Run Code Online (Sandbox Code Playgroud)
边注:
您将需要与上述相同的setRange课程,因为它扩展了您的BaseValidator课程.
class setRange extends BaseValidator
{
public function Validate($string){}
public function SetRange($string)
{
if(!(strlen($string)>4 && strlen($string)<10))
{
echo "You are not in range of 4-10";
}
}
}
Run Code Online (Sandbox Code Playgroud)