作者sunlights (sunlights)
看板PHP
标题[请益] PHP 有多型吗?
时间Tue Jun 21 20:04:53 2016
想问一下
学过JAVA
多型老师是这样说的
母类别 Animal
子类别 Dog
如果写 Animal aa = new Dog ();
这样叫多型
可是PHP在new 时并没有宣告 是子类别还母类别
如 $aa = new Dog();
只有在function 里传递参数时会写出
如
public function putout(Animal $obj) {
....
}
所以所以我觉得多型并不是大量使用..
但在网路上查到很多PHP的多型都是指实作..
除了
http://0rz.tw/WNuo7
敍述PHP没有多型
到底上面的文章写的对吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 58.114.1.218
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1466510698.A.396.html
1F:推 storyn26383: 中文翻译容易误会,PHP 没有 overloading,但是有 po 06/22 00:45
2F:→ storyn26383: lymorphism 06/22 00:45
3F:→ sunlights: 但是文章上他们是写PHP的多型真的是多型吗? 06/22 13:26
如下
Is what seems like polymorphism in PHP really polymorphism?
然後回答是
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里多型并不是多型应有的样子..我是指它的确可以运作,但没有明确的型态
这并不正确
※ 编辑: sunlights (58.114.1.218), 06/22/2016 13:30:55
4F:→ MOONRAKER: 阿就一个user在google上找到一段 谁讲的也不知道 06/22 16:30
5F:→ MOONRAKER: 这样你就把他奉为圣经了? 06/22 16:31
6F:→ MOONRAKER: 还有你知道stackoverflow的格式吗?你看到那一块是他的 06/22 16:31
7F:→ MOONRAKER: 「提问」 别人的「回答」在下面 06/22 16:31
8F:→ MOONRAKER: 底下人家给了一大堆答案 有code有实做 有声有色 06/22 16:32
9F:→ MOONRAKER: 然後你都不看 只看到说「他这样问 所以应该是这样」 06/22 16:32
10F:→ MOONRAKER: 那根本不需要问嘛 你自己都想好了不是吗 06/22 16:33
11F:→ MOONRAKER: weak typing有他自己的规则 不要用java那套乱想 06/22 16:36
12F:→ gname: 推楼上.. .不要把 JAVA 套进来... 06/23 15:33
13F:→ kyleJ: OOP的术语翻成中文总是很令人混淆 但你说的那个不是 06/24 12:13
14F:→ kyleJ: Override也不是Overload 是宣告父类别的变数可以参考到子 06/24 12:13
15F:→ kyleJ: 类别 是强型别下才会出现的情况 PHP哪管你谁继承了谁 用$ 06/24 12:13
16F:→ kyleJ: 开头的变数你爱装什麽值或参考去哪个物件都可以 06/24 12:17
17F:→ dlikeayu: 楼上最後一段说的不太正确,PHP开发者和framework开发者 06/28 22:10
18F:→ dlikeayu: 现在都是为了效能瓶颈在往型别方面做强化优化 06/28 22:11
19F:→ dlikeayu: 当然你可以按PHP7之前的作法,把这些型别判断丢给php 06/28 22:12
20F:→ dlikeayu: serve 去处理,但是在意机器成本的公司可能就不是这麽一 06/28 22:13
22F:推 ej04cj86: interface & abstract class. 能用interface就别用abs 07/17 21:14
23F:→ ej04cj86: 因为比较贵, 除非你的abstract class有init function 07/17 21:15