致命的なエラー:クラス検証には1つの抽象メソッドが含まれているため、抽象として宣言するか、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");
?>
エラーメッセージをおろそかにします。
致命的なエラー:クラス検証には1つの抽象メソッドが含まれているため、抽象として宣言するか、21行目のC:\ wamp\www\jump\task3\day8\abstract.phpに残りのメソッド(BaseValidator :: SetRange)を実装する必要があります。
Validate
には、_1
_抽象メソッドのみが含まれています。Validate
が拡張するBaseValidator
であるクラスには、_2
_抽象メソッドが設定されています。Validate
)では、2番目の抽象メソッド(この場合は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";
}
}
}
_