7.3.3 特殊的对象引用”$this”
特殊对象的引用$this就是在对象内部的成员方法中,代表本对象的一个引用,但只能在对象的成员方法中使用,不管是在对象内部使用$this访问自己对象内部成员。还是在对象外部通过对象的引用名称访问对象中的成员,都需要使用特殊的运算符“->”来完成访问。
<?php
/** 声明一个人类Person,其中包含三个成员属性和两个成员方法 */
class Person {
//下面是声明人的成员属性
public $name; //定义人的名字
public $sex; //定义人的性别
public $age; //定义人的年龄
//下面是声明人的成员方法
public function say(){
//在类中声明说话的方法,使用$this访问自己对象内部的成员属性
echo "我的名字:".$this->name.", 性别:".$this->sex.", 年龄:".$this->age."。<br>";
}
//在类中声明另一个方法
public function run(){
echo $this->name."在走路<br>"; //使用$this访问$name属性
}
public function demo(){
$this->say(); //在此方法中调用其它方法
}
}
boyfriend.class.php
<?php
/*
* 属性
* 性别:男
* 年龄: 24
* 身高: 175cm
* 眼睛: 大
*
*
* 行为
*
* 做饭
* 做家务
*
* class 类名 {
*
*
* }
*
* 注意: 在类的成员属性前面一定要有一个修饰词, 如果不知道使用什么修饰词, 就可以使用var (关键字), 如果一旦有其它的修饰词就不要有var
*
*
* 只要是对象中的成员, 就必须使用这个对象来访问到这个对象内部的属性和方法
*/
class BoyFriend {
//变量 (成员属性)
var $name;
var $age = 24;
var $sex = "男";
//函数 (成员方法)
public function doFan() {
echo "{$this->name} 有做饭的功能<br>";
$this->doJW();
}
function doJW() {
echo "做家务的功能<br>";
}
}
$bf1 = new BoyFriend();
$bf2 = new BoyFriend;
$bf1 -> name = "张三";
$bf2 -> name = "李四";
$bf1 -> doFan();
$bf2 -> doFan();
test.php
<?php
include "boyfriend.class.php";