0

我正在研究 PHP,我正在学习的网站上有多态性示例,代码链接:Pastebin,我不明白的是为什么在那些已经用函数 hellow 扩展的类之后的 Class b 和 Class c它们已经包含这个函数,我知道这就是多态性的工作原理,我不确定,但我记得有人告诉我,同名的 2 个函数可以在一个类中,因为每个函数都有自己的签名,但是有我说我不确定是否有人可以帮助我理解它,我将非常感激。

4

1 回答 1

2

您在这里谈论的不是多态性,而是非常简单的继承。在某些 OOP 语言(如 Java)中,多个具有相同名称但签名不同的方法确实是可能的,但 PHP 却不行,因为 PHP 中的方法名称在一个类中是唯一的。

在您的情况下,类bc hello方法将简单地替换(重载)已经定义的类和方法a,它们扩展。

但是,从您bc类中,您可能希望调用父类方法。这正是这样a::hello($arg1, $arg2, date('Y-M-j'));做的。

于 2012-05-27T07:11:02.953 回答