致命错误:类验证包含一个抽象方法,因此必须在第21行的C:\wamp\www\jump\task3\day8\abstract.php中声明抽象或实现其余方法(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");
?>发布于 2014-05-21 06:26:32
为您简化错误消息:
致命错误:类验证包含一个抽象方法,因此必须在第21行的C:\wamp\www\jump\task3\day8\abstract.php中声明抽象或实现其余方法(BaseValidator::SetRange)
细目
1只包含Validate抽象方法。2抽象方法集合了Validate扩展的类,即BaseValidator。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) {}
}旁注:
您对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";
}
}
}
https://stackoverflow.com/questions/23775250
复制相似问题