您的位置:首页 > 其它

特殊引用$this的使用

2011-11-15 20:52 204 查看
$this就是对象内部代表这个对象的引用,在对象内部和调用本对象的成员和对象外部调用对象的成员所使用的方式是一样的。

  $this->属性 $this->name; $this->age; $this->sex;

$this->方法 $this->say(); $this->run();

  修改一下上面的实例,让每个人都说出自己的名字,性别和年龄:

<?php

class Person

{

//下面是人的成员属性

var $name; //人的名子

var $sex; //人的性别

var $age; //人的年龄

//下面是人的成员方法

function say() //这个人可以说话的方法

{

  echo "我的名子叫:".$this->name." 性别:".$this->sex." 我的年龄是:".$this->age."<br>";

}

function run() //这个人可以走路的方法

{

echo "这个人在走路";

}

}

$p1=new Person(); //创建实例对象$p1

$p2=new Person(); //创建实例对象$p2

$p3=new Person(); //创建实例对象$p3

//下面三行是给$p1对象属性赋值

$p1->name="张三";

$p1->sex="男";

$p1->age=20;

//下面访问$p1对象中的说话方法

$p1->say();

//下面三行是给$p2对象属性赋值

$p2->name="李四";

$p2->sex="女";

$p2->age=30;

//下面访问$p2对象中的说话方法

$p2->say();

//下面三行是给$p3对象属性赋值

$p3->name="王五";

$p3->sex="男";

$p3->age=40;

//下面访问$p3对象中的说话方法

$p3->say();

?>

输出结果为:

我的名子叫:张三 性别:男 我的年龄是:20

我的名子叫:李四 性别:女 我的年龄是:30

我的名子叫:王五 性别:男 我的年龄是:40

分析一下这个方法:

function say() //这个人可以说话的方法

{

echo "我的名子叫:".$this->name." 性别:".$this->sex." 我的年龄是:".$this->age."<br>";

}

  在$p1、$p2和$p3这三个对象中都有say()这个方法,$this分别代表这三个对象, 调用相应的属性,打印出属性的值,这就是在对象内部访问对象属性的方式, 如果相在say()这个方法里调用run()这个方法也是可以的,在say()这个方法中使用$this->run()的方式来完成调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: