日期:2014-05-16  浏览次数:20417 次

PHP中this,self,parent的区别

PHP中this,self,parent的区别

?

{一}PHP中this,self,parent的区别之一this篇

??????面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能。利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的。

PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性。这里我主要谈的是this,self,parent?三个关键字之间的区别。从字面上来理解,分别是指这、自己、父亲。先初步解释一下,this是指向当前对象的指针(可以看成C里面的指针),self是指向当前类的指针parent是指向父类的指针。我们这里频繁使用指针来描述,是因为没有更好的语言来表达。关于指针的概念,大家可以去参考百科。

下面我们就根据实际的例子结合来讲讲。

<?php

?classname??????????//建立了一个名为name的类
?{
????private$name;?????????//定义属性,私有

????//定义构造函数,用于初始化赋值
????function __construct( $name )
????{
?????????$this->name =$name;?????????//这里已经使用了this指针语句①
????}

????//析构函数
????function __destruct(){}

????//打印用户名成员函数
????function printname()
????{
?????????print( $this->name);?????????????//再次使用了this指针语句②,也可以使用echo输出
????}
?}

?$obj1 = new name("PBPHome");???//实例化对象?语句③

?//执行打印
?$obj1->printname(); //输出:PBPHome
?echo"<br>";????????????????????????????????????//输出:回车