【问题标题】:php oop why add properties to classphp oop 为什么要向类添加属性
【发布时间】:2017-06-09 21:00:57
【问题描述】:

我正在尝试理解 php 中 oop 的概念。 我的问题:为什么在类中添加属性(此处:$result 和 $operation),但如果我不添加它们并且 var_dump 则它工作正常,因此设置了 objects 属性。 示例:

  class Calculator {

   protected $result;
   protected $operation;

   public function setOperation ( $operation) {
    $this->operation = $operation;
   }

 }

这里没有:

 class Calculator {

   public function setOperation ( $operation) {
    $this->operation = $operation;
   }

 }

为什么这很重要,有时我看到一个没有在顶部声明属性的类?

【问题讨论】:

  • 如果它们不存在,php 会将它们定义为public 属性。如果定义它们,则可以根据需要指定它们的可见性。如果可以定义它们,最好定义它们,但也要记住,php 允许使用 __set__get 魔术方法重载属性,这允许你对它们做任何你想做的事情。
  • 我投票决定将此问题作为题外话结束,因为您应该阅读精美的手册:php.net/manual/en/language.oop5.php

标签: php class properties


【解决方案1】:

这样您就可以定义可见性。有时,您有一个包含一个变量的类,您只想使用同一类的方法对其进行修改。如果您没有在类中明确定义变量,它们始终是公共的,并且可以在任何范围内进行修改。

http://php.net/manual/en/language.oop5.visibility.php

【讨论】:

    猜你喜欢
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    相关资源
    最近更新 更多