【问题标题】:What is the difference between access modifiers in php? [closed]php中的访问修饰符有什么区别? [关闭]
【发布时间】:2015-03-28 09:27:12
【问题描述】:

我完全对 php 中的访问修饰符感到困惑。关于访问修饰符的内存利用率是否有任何差异或只有可访问性的差异..请提出建议。 如果我有以下代码:

public Class Employee {
 public $emp_name='xyz';
 protected $emp_phone='1234567891';
 private $emp_code='101';
 public function getName($name) {
  return 'Employee name is :' . $name;
 }
 protected function getPhone($ph) {
  return 'Employee contact number is :' . $ph;
 }
 private function getCode($id) {
  return 'Employee code is :' . $id;
 }
 $emp = new Employee();
 $emp->getName($emp_name);
 $emp->getPhone($emp_phone);
 $emp->getName($id);
}

现在谁能告诉我变量或函数上面会发生多少内存。

【问题讨论】:

  • 在 PHP 中,每个修饰符的内存使用量在 public 和 protected/private 之间存在一个字节的差异,但是您为什么要担心呢?目的是可见性,纯粹而简单
  • 它们被称为访问修饰符是有原因的。
  • 为什么标记为 Java?
  • @immibis - 可能是因为 java 也有访问修饰符!
  • @mark 谢谢,只能从一个类到另一个类的可见性。bcz 最终用户永远不会访问我们的 php 代码....甚至不清楚

标签: java php oop access-modifiers


【解决方案1】:

不,访问修饰符对 Java 或 PHP 以及我听说过的任何其他语言的运行时内存利用率都没有影响。

由于某些字节码中的访问修饰符,代码大小可能会增加几个字节,具体取决于它们的编码方式。您的程序必须在其他方面非常高效,才值得担心。

【讨论】:

  • 谢谢..@Atsby.所以这是否意味着只有可见性才是使用访问修饰符的主要原因..?
猜你喜欢
  • 2015-11-26
  • 2011-01-15
  • 2014-11-03
  • 2017-06-04
  • 1970-01-01
  • 2013-07-24
  • 2010-10-11
  • 2020-08-25
相关资源
最近更新 更多