在PHP中扩展抽象类时出现致命错误

Yus*_*kır 3 php abstract-class

我正在学习OOP PHP的高级水平..(或者我想学习:))

是我的代码.

摘抄:

<?php 
abstract class Karakter
{
    abstract public function isim($name);
    abstract public function yas($age);

    public function yazdir()
    {
        print $this->isim() . " " . $this->yas();
    }
}

class Insan extends Karakter
{
    public $isim;
    public $yas;
    public function isim()
    {
        return "Bu adam?n ismi: " . $this->isim;
    }

    public function yas()
    {
        return "Bu adam?n ya??: " . $this->yas;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我无法赢得通过.我可以看到这个错误:

Fatal error: Declaration of Insan::isim() must be compatible with that of Karakter::isim() in C:\AppServ\www\OOP\1.php on line 26
Run Code Online (Sandbox Code Playgroud)

hal*_*dan 7

您已isim使用一个参数在抽象类中定义了该函数.

abstract public function isim($name);
Run Code Online (Sandbox Code Playgroud)

为了在任何子类中正确实现此函数,您必须使用一个参数覆盖该函数:

class Insan extends Karakter {
    public function isim($name) {
       [..]
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)