您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php中this,parent,self关键字用法详解

2024/4/2 20:15:22发布30次查看
this,parent,self都是在php中的class类中了,下面我来分别介绍this,parent,self在类中用应用与区别有需要的朋友可参考。
一,this
1,要用this,你必有是一个对像的形势,不然它会报错的,fatal error: using $this when not in object context。
2,this可以调用本类中的方法和属性,也可以调用父类中的可以调的方法和属性
 代码如下 复制代码
class username  
{   
//定义属性   
private $name;  
//定义构造函数  
function __construct( $name )  
{  
$this->name = $name;
//这里已经使用了this指针  
}  
//析构函数  
function __destruct(){}   
//打印用户名成员函数  
function printname()  
{  
print( $this->name );
//又使用了php关键字this指针  
}  
}   
//实例化对象  
$nameobject = new username
( heiyeluren );   
//执行打印  
$nameobject->printname();
 //输出: heiyeluren  
//第二次实例化对象  
$nameobject2 = new username( php5 );  
//执行打印  
$nameobject2->printname(); //输出:php5  
?>
我 们看,上面的类分别在11行和20行使用了this指针,那么当时this是指向谁呢?其实this是在实例化的时候来确定指向谁,比如第一次实例化对象 的时候(25行),那么当时this就是指向$nameobject对象,那么执行18行的打印的时候就把print( $this->name ),那么当然就输出了heiyeluren。
二,self
self是指向类本身,也就是php self关键字是不指向任何已经实例化的对象,一般self使用来指向类中的静态变量。
1,self可以访问本类中的静态属性和静态方法,可以访问父类中的静态属性和静态方法。
2,用self时,可以不用实例化的
 代码如下 复制代码
class counter  
{  
//定义属性,包括一个静态变量  
private static $firstcount = 0;  
private $lastcount;  
//构造函数  
function __construct()  
{  
$this->lastcount = ++selft
::$firstcount;
 //使用php self关键字来调用静态变量,使用self
调用必须使用::(域运算符号)  
}  
//打印最次数值  
function printlastcount()  
{  
print( $this->lastcount );  
}   
}  
//实例化对象  
$countobject = new counter();  
$countobject->printlastcount();
 //输出 1  
?>
三,parent
parent:: 可用于调用父类中定义的成员方法。
parent::的追溯不仅于直接父类。
通过parent::调用父类方法
 代码如下 复制代码
class employee{
 protected  $sal=3000;  
 public function getsal(){
  $this->sal = $this->sal + 1200;  
  return $this->sal ;
 } 
}
class manager extends employee {
 //如果想让经理在员工工资的基础上多发1500元.
 //必须先调用父类的getsal()方法.
 public function getsal(){  
  parent::getsal();// 这里调用了父类的方法.
  $this->sal = $this->sal + 1500;  
  return $this->sal ;
 } 
}
$emp = new employee();
echo 普通员工的工资是 . $emp->getsal();
echo
;
$manager = new manager();
echo 经理的工资是: . $manager->getsal();
?>
parent是指向父类的指针,一般我们使用parent来调用父类的构造函数。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product