Is what seems like polymorphism in PHP really polymorphism?(PHP中看起来像多态的东西真的是多态吗?)
问题描述
试图弄清楚 PHP 是否支持方法重载、继承和多态等特性,我发现:
Trying to figure out whether PHP supports features like method overloading, inheritance, and polymorphism, I found out:
- 不支持方法重载
- 它确实支持继承
但我不确定多态性.我在网上搜索到了这个:
but I am unsure about polymorphism. I found this Googling the Internet:
我应该注意到,在 PHP多态性不是它的方式应该.我的意思是它确实有效,但由于我们有一个弱数据类型,它的不正确.
I should note that in PHP the polymorphism isn't quite the way it should be. I mean that it does work, but since we have a weak datatype, its not correct.
那么真的是多态吗?
编辑只是不能在 PHP 支持多态
旁边放置一个明确的是"或否".我不愿意说:PHP 不支持多态性",而实际上它确实支持.反之亦然.
Edit
Just can't quite place a definite YES or NO next to PHP supports polymorphism
. I would be loath to state: "PHP does not support polymorphism", when in reality it does. Or vice-versa.
推荐答案
class Animal {
var $name;
function __construct($name) {
$this->name = $name;
}
}
class Dog extends Animal {
function speak() {
return "Woof, woof!";
}
}
class Cat extends Animal {
function speak() {
return "Meow...";
}
}
$animals = array(new Dog('Skip'), new Cat('Snowball'));
foreach($animals as $animal) {
print $animal->name . " says: " . $animal->speak() . '<br>';
}
你可以随心所欲地给它贴上任何标签,但这对我来说就像是多态性.
You can label it all you want, but that looks like polymorphism to me.
这篇关于PHP中看起来像多态的东西真的是多态吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:PHP中看起来像多态的东西真的是多态吗?
基础教程推荐
- Libpuzzle 索引数百万张图片? 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01