Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中扩展抽象类时出现致命错误_Php_Abstract Class - Fatal编程技术网

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

在PHP中扩展抽象类时出现致命错误,php,abstract-class,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();

我正在学习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;
    }
}

在抽象类中,您定义了
isim()
以期望参数。但是在扩展类中,您没有遵循这个规则

这就是定义:

abstract public function isim($name);
但是,您可以这样扩展它,而不需要参数:

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

    ...
}

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

abstract public function isim($name);
为了在任何子类中正确实现此函数,必须使用一个参数覆盖该函数:

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

    ...
}

您的代码链接对我不起作用。请将相关代码包含在您的问题中,不要链接。@Bryan stackoverflow不允许。。因为我的代码很长。@YusufAliBozkır对于未来,最好尝试将代码尽可能缩小到相关部分,以便它们适合问题,并让人们知道什么代码是一个特定的问题。:)就我个人而言,我会使用Pastebin来代替完整的文件,但是在文章中加入相关的代码是个好主意。