
php类和对象问题
在一个类中有个方法functionsetx($set_x){$this->x=set_x;}记得在JAVA中this好象有特殊的用法,在这里是不是也是有同样的用法哈?能详...
在一个类中有个方法function setx($set_x)
{
$this->x=set_x;
}
记得在JAVA中 this好象有特殊的用法,在这里是不是也是有同样的用法哈?
能详细的解释下吗?谢谢 展开
{
$this->x=set_x;
}
记得在JAVA中 this好象有特殊的用法,在这里是不是也是有同样的用法哈?
能详细的解释下吗?谢谢 展开
1个回答
展开全部
$this 的含义是表示 实例化后的 具体对象!
我们一般是先声明一个类,然后用这个类去实例化对象!
但是,当我们在声明这个类的时候,想在类本身内部使用本类的属性或者方法。应该怎么表示呢?
例如:
我声明一个User类!它只含有一个属性 $name;
class User
{
public $_name;
}
现在,我给User类加个方法。就用getName()方法,输出$name属性的值吧! 复制PHP内容到剪贴板
PHP代码:
class User
{
public $name;
function getName()
{
echo $this->name;
}
}
//如何使用呢?
$user1 = new User();
$user1->name = '张三';
$user1->getName(); //这里就会输出张三!
$user2 = new User();
$user2->name = '李四';
$user2->getName(); //这里会输出李四!
怎么理解呢?
我上面创建了两个User对象。分别是 $user1 和 $user2 。
当我调用 $user1->getName()的时候。 上面User类中的代码 echo $this->name ; 就是相当于是 echo $user1->name;
----------------------------------------->>>补充一下>>>
有static修饰的变量和函数不能出现$this
你看到的函数一定没有static
建议你系统的学习一下PHP,这样瞎猜是很浪费时间的
static $a1和self::$a1或者$a::$a1是一起使用的。
var $a1和$this->a1是一起使用的
class Abc{
static $a1;
}
class Abc{
var $a1;
}
两个$a1是不同的。
第一个用self::$a1或者$a::$a1引用,
第二个用$this->$a1或者$a->a1引用
首先static的函数里不能出现$this,只能是self
class Abc{
public static $a1 = "im a1!<br/>";
public static function go()
{
echo(self::$a1);
}
}
Abc::go();
?>
我们一般是先声明一个类,然后用这个类去实例化对象!
但是,当我们在声明这个类的时候,想在类本身内部使用本类的属性或者方法。应该怎么表示呢?
例如:
我声明一个User类!它只含有一个属性 $name;
class User
{
public $_name;
}
现在,我给User类加个方法。就用getName()方法,输出$name属性的值吧! 复制PHP内容到剪贴板
PHP代码:
class User
{
public $name;
function getName()
{
echo $this->name;
}
}
//如何使用呢?
$user1 = new User();
$user1->name = '张三';
$user1->getName(); //这里就会输出张三!
$user2 = new User();
$user2->name = '李四';
$user2->getName(); //这里会输出李四!
怎么理解呢?
我上面创建了两个User对象。分别是 $user1 和 $user2 。
当我调用 $user1->getName()的时候。 上面User类中的代码 echo $this->name ; 就是相当于是 echo $user1->name;
----------------------------------------->>>补充一下>>>
有static修饰的变量和函数不能出现$this
你看到的函数一定没有static
建议你系统的学习一下PHP,这样瞎猜是很浪费时间的
static $a1和self::$a1或者$a::$a1是一起使用的。
var $a1和$this->a1是一起使用的
class Abc{
static $a1;
}
class Abc{
var $a1;
}
两个$a1是不同的。
第一个用self::$a1或者$a::$a1引用,
第二个用$this->$a1或者$a->a1引用
首先static的函数里不能出现$this,只能是self
class Abc{
public static $a1 = "im a1!<br/>";
public static function go()
{
echo(self::$a1);
}
}
Abc::go();
?>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询