php self this parent区别,对比
来源:互联网 发布:2016全国各地上牌数据 编辑:程序博客网 时间:2024/06/14 10:55
1.this关键字
this是指向当前对象的指针,是在类被实例化之后才可以被使用。
this可以调用本类中的方法和属性,也可以调用父类中的可以调的方法和属性,可以说除过静态和const常量,基本上其他都可以使用this联络。
- class test {
- public $public;
- private $private;
- protected $protected;
- public function __construct(){
- $this->public = 'public-1';
- $this->private = 'private-1';
- $this->protected = 'protected-1';
- }
- public function rank(){
- return $this->public;
- }
- public function dell(){
- return $this->private;
- }
- public function date(){
- return $this->protected;
- }
- }
- $app = new test();
- echo $app->rank();
- echo "</br>";
- echo $app->dell();
- echo "</br>";
- echo $app->date();
2.self关键字
self是指向当前类的指针。对类本身,没有实例化的类。
self可以访问本类中的静态属性和静态方法,可以访问父类中的静态属性和静态方法。
用self时,不用实例化。
例子如下:
- class test {
- static $instance;
- public function __construct(){
- self::$instance = 'instance';//静态属性只能通过self来访问本类
- }
- public function rank(){
- return self::$instance;//访问静态属性 $instance
- }
- }
- $str = new test();
- echo $str->tank();
- class test {
- const CITY= 'hangzhou';
- public function rank(){
- return self::CITY;
- }
- }
- $str = new test();
- echo $str->rank();
3.parent
PHP5中使用parent::来引用父类的方法。
parent:: 可用于调用父类中定义的成员方法。
parent::的追溯不仅于直接父类。
parent是指向父类的指针,一般我们使用parent来调用父类的构造函数
一个例子程序:
<?php
//建立基类fruit
class Fruit
{
public $name; //基类的属性,名字$name
//基类的构造函数,初始化赋值
public function __construct( $name )
{
$this->name = $name;
}
}
//定义派生类apple继承自fruit类
class Apple extends Fruit
{
public $breed; //对于派生类,新定义了属性$breed品种、$area产地
public $area;
//派生类的构造函数
function __construct( $breed, $area)
{
parent::__construct( "appleapple"); //使用parent调用了父类的构造函数 语句①
$this->bread= $bread;
$this->area = $area;
}
//派生类的成员函数,
function detail()
{
print( $this->name. " is ".$this->bread. ",area is ".$this->area );
}
}
//实例化Person对象
$personObject = new Apple( "fushi", "hangzhou");
//执行打印
$personObject->detail();//输出结果:
?>
成员属性都是public(公有属性和方法,类内部和外部的代码均可访问)的,特别是父类的,这是为了供继承类通过this来访问。关键点在语句①:parent::__construct( "heiyeluren"),这时候我们就使用parent来调用父类的构造函数进行对父类的初始化,这样,继承类的对象就都给赋值了name为appleapple
- php self this parent区别,对比
- PHP中this,self,parent的区别
- php中this self parent区别
- php this self parent 区别与联系
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- PHP中this,self,parent的区别
- 配置Gradle国内镜像源
- APK目录简述
- wxPython
- ceph - pg 常见状态
- tomcat优化
- php self this parent区别,对比
- SystemUI之notification排序
- 前端切图方法总结
- WebApi 异常处理解决方案
- 去除Ubuntu文件夹有锁标志
- JS截取URL中参数值
- 如何高效地判断数组中是否包含某特定值
- 自定义控件
- 操作时间的工具类