简单的PHP程序解释

[复制链接]
查看11 | 回复2 | 2010-6-3 19:51:59 | 显示全部楼层 |阅读模式
构造函数实现类的初始化

[B]
x=6; //初始化点x的值

$this->y=6; //初始化点y的值

}

function setx($set_x)

{

$this->x=$set_x;

}

function sety($set_y)

{

$this->y=$set_y;

}

function print_point()

{

echo "坐标为:(".$this->x.",".$this->y.")";

}

}

$point1=new point;

//$point1->setx(6);

//$point1->sety(8);

$point1->print_point();
?>
[/B]
请问输出要这样用 ,直接x,y不行吗?:echo "坐标为:(".$this->x.",".$this->y.")";

回复

使用道具 举报

千问 | 2010-6-3 19:51:59 | 显示全部楼层
首先你说“请问输出要这样用 ,直接x,y不行吗?”,回答是否定的!在PHP中面向对象有它的特点,不和JAVA一样!在JAVA中是可以的!在PHP中$this指代当前对象的引用,并且必须在实例化了对象的情况下才能用$this来访问对象的非静态属性!而且在访问静态成员时要用::操作符,用法为类名::静态方法或者属性还有一个很重要的,也是很容易不好把握的,就是“在静态的方法中是不能访问非静态的成员的(即在静态的方法中不能$this)!”不过在方法的参数中可以用$x,$y,作为参数,不是类的属性
回复

使用道具 举报

千问 | 2010-6-3 19:51:59 | 显示全部楼层
不行。你得了解面向对象编程机制的特点。单独的$x与$y没有意义。$this-x指代当前实例的x属性。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行