gpt4 book ai didi

php - PHP5保护变量背后的推理

转载 作者:可可西里 更新时间:2023-11-01 13:56:52 25 4
gpt4 key购买 nike

您能解释一下为什么我想在 PHP5 中对某些类变量和方法使用“ protected ”而不是“公共(public)”或“私有(private)”吗?我还没有找到我认为我需要“保护”的情况,并且根据意图选择了“公共(public)”或“私有(private)”。即使在团队中工作时,我仍然没有找到一个案例(根据我迄今为止的知识)为什么“ protected ”对于类变量和方法是必要的。

最佳答案

例如,Flourish library的 fDate 类提供了很多功能,但不是我需要的一切。所以我扩展了自己的类(class)。

我很快发现它的核心内部变量 fDate::$date(自 1970 年以来以秒为单位的时间)是一个私有(private) 属性。这使我不可能在我的子类 ThriveDate 中访问它。一旦 Flourish 的维护者将其更改为 protected 属性,我就能够使用它并因此充分扩展 fDate。

因为你永远不知道谁可能需要扩展你的类,以及扩展多少,在未来,最好让每个内部属性都受到保护,除非有充分的理由让属性永远不会被修改子类

TL;DR:私有(private)属性(property)应该和公共(public)属性(property)一样稀有:例如几乎从不使用。

关于php - PHP5保护变量背后的推理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5397434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com