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

This 是我的代码。

摘抄:

<?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;
    }
}

当我运行此代码时,我无法获胜。我可以看到这个错误:
Fatal error: Declaration of Insan::isim() must be compatible with that of Karakter::isim() in C:\AppServ\www\OOP\1.php on line 26

最佳答案

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

abstract public function isim($name);

为了在任何子类中正确实现此函数,您必须仅使用一个参数覆盖该函数:
class Insan extends Karakter {
    public function isim($name) {
       [..]
    }

    ...
}

关于php - 在 PHP 中扩展抽象类时出现致命错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8066790/

10-10 23:37