在PHP中扩展抽象类时出现致命错误
我正在学习OOP 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();
<?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来代替完整的文件,但是在文章中加入相关的代码是个好主意。