- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
您能解释一下为什么我想在 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/
我正在寻找匹配 /(?=\W)(gimme)(?=\W)/gi 或类似的东西。 \W 应该是零宽度字符来包围我的实际匹配项。 也许有一些背景。我想用添加的文字填充替换某些单词(总是 \w+),但前提是
如何在不使用 Intent 连接到 VPN 服务的情况下以编程方式检测流量是否正在通过 VPN。有系统调用吗? 最佳答案 这个有效: private boolean checkVPN() {
我是一名优秀的程序员,十分优秀!