以下以PHP4为例说明,JAVA也可以套用理解。
一、类的属性与类的方法中变量的区别
初学者常常混淆两者的关系。
class a{
var $a;//这是类的一个属性,使用范围是这个类
function a($a){
$a = $a."this is class a";//这是一个普通变量,作用范围是这个构造函数内部。
$this->a = $a;
}
……
}
1.类的属性(变量)
一般在类的开始部分声明。
class a{
var $a;//属性
……
}
使用的时候必须是 $this->a 来调用。默认是一个全局的变量,与程序中的$_POST[]数组类似。
注意:类中的属性可以声明也可以不声明,这可能与PHP是一种弱类型语言有关,变量在使用过程中不需要显式声明。在类中你可以不用声明直接这样设定一个属性 $this->tem = "自由的变量。",在类中与自常声明的属性一样使用,没有任何差别。但是,我在看一些资料的时候(中文的没看到,英文的看不太懂)还没有看到明确支持这样的用法。PHP中的类是一个有自身特色的类,不等同于JAVA中的类,从种种迹像来看PHP与JAVA越来越相象,在没有明确说明的地方尽量还是遵循规范以免造成不便。
2.类的方法(函数)中的变量
在类中的函数如: function b($b)
那么变量 $b 表示在类的执行过程中由外部输入的,其作用范围是这个函数的内部。如果要想将它作为类中的一部分让类中其它方法能够访问它,必须让它转化为类的属性也就是类中的变量。