php - 在 PHP 中扩展抽象类时出现 fatal error

标签 php abstract-class

我正在学习高级 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 中扩展抽象类时出现 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8066790/

相关文章:

java在抽象方法中返回抽象类

java - Java 中继承常量的最佳实践是什么?

Java Aes 类转换为 php

php - 在 div 中显示 PHP 结果而不刷新

php - 预匹配/字符

php - Joomla 2.5 分页覆盖

php - Heroku 找不到 PDOServiceProvider

c++11 - 据推测,链接器指的是对 vtable 的 undefined reference

java - 抽象类和所有方法都抽象的类有什么区别?

c++ - 将抽象类(仅限纯虚函数)的继承/派生限制在某个类