php外部对象如何使用方法,php面向对象全攻略 (三)特殊的引用“$this”的使用...

本文详细解释了PHP中特殊引用`$this`的使用,探讨了如何在对象内部访问属性和方法,以及`$this`如何作为对象内部的自我引用。通过实例展示了如何在say()方法中调用run(),理解了对象内部和外部调用的区别。
摘要由CSDN通过智能技术生成

7.特殊的引用“$this”的使用

现在我们知道了如何访问对象中的成员,是通过“对象->成员”的方式访问的,这是在对

象的外部去访问对象中成员的形式,那么如果我想在对象的内部,让对象里的方法访问本对

象的属性,或是对象中的方法去调用本对象的其它方法这时我们怎么办?因为对象里面的所

有的成员都要用对象来调用,包括对象的内部成员之间的调用,所以在php 里面给我提供了

一个本对象的引用$this,每个对象里面都有一个对象的引用$this 来代表这个对象,完成对象

内部成员的调用,this 的本意就是“这个”的意思,上面的实例里面,我们实例化三个实例

对象$p1、$p2、$p3,这三个对象里面各自存在一个$this 分别代表对象$p1、$p2、$p3。

通过上图我们可以看到,$this 就是对象内部代表这个对象的引用,在对象内部和调用本

对象的成员和对象外部调用对象的成员所使用的方式是一样的。

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

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

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

代码片段

class person{

//下面是人的成员属性

var $name; //人的名字

var $sex; //人的性别

var $age; //人的年龄

//下面是人的成员方法

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

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

}

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."
";

}

在$p1、$p2 和$p3 这三个对象中都有say()这个方法,$this 分别代表这三个对象,调用相应的属性,打印出属性的值,这就是在对象内部访问对象属性的方式,如果相在say()这个方

法里调用run()这个方法也是可以的,在say()这个方法中使用$this->run()的方式来完成调用。

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值