我是OOP范式的新手,所以可能对此问题有一个简单的解释…
您是否总是需要在类中声明公共对象范围的变量?例如:
<?php class TestClass { var $declaredVar; function __construct() { $this->declaredVar = "I am a declared variable."; $this->undeclaredVar = "I wasn't declared, but I still work."; } function display() { echo $this->declaredVar . "<br />"; echo $this->undeclaredVar; echo "<br /><br />"; } } $test = new TestClass; $test->display(); $test->declaredVar = "The declared variable was changed."; $test->undeclaredVar = "The undeclared variable was changed."; $test->display(); ?>
在此代码中,即使$declaredVar是唯一声明的变量,$undeclaredVar也一样可访问和可用-似乎就像我将其声明为public一样。
$declaredVar
$undeclaredVar
如果未声明的类变量始终可以这样访问,那么将它们全部预先声明的意义何在?
该变量不是未初始化的,只是未声明的。
在类定义中声明变量是提高可读性的一种方式。另外,您可以设置可访问性(私有或公共)。
无论如何,显式声明变量与OOP无关,它是特定于编程语言的。在Java中,您不能这样做,因为必须显式声明变量。