php面向对象

   一、 静态static关键字

1、静态属性用于保存类的公有数据

2、静态方法中只能访问静态属性

3、静态成员不需要通过实例化来访问。

4、类的内部可以通过self或者static关键字访问自身静态变量。访问变量的时候需要在变量名前加美元符号。

5、可以通过parent关键字访问父类的静态成员。

6、可以通过类的名称在类定义外部访问静态成员。

   二、对象引用的基本概念

class A{};

$B=new A();

$C=$B;

此时变量$C引用的是一个A对象,  当变量$B被赋值为null的时候,$C并不会为null。

$C=&$B 

此时当变量$B被赋值为null的时候,$C会为null。

对象的析构函数__destruct当且仅在没有变量继续引用的时候,就会调用。析构函数和

构造函数不能显示调用。

       三、数据访问

parent关键字可以用于调用父类中被子类重写了的方法.

self关键字可以用于访问类自身的成员方法,也可用于访问自身的静态成员和类常量。

不能用于访问类自身的属性。使用常量的时候不需要在常量名称前加上$符号。

static关键字用于访问类自身定义的静态成员,防伪静态属性需要在属性前添加$符号。

四、魔术方法

__tostring()方法  对象被当做String使用时,这个方法被自动调用。

class A(){}:

在类中定义了__tostring()方法的时候,直接声明$obj=new A(); echo $obj会自动调用__tostring()方法.

__invoke()方法   当类被当做方法调用的时候,这个方法会被自动调用

class A(){}:

在类中定义了__invoke()方法的时候,直接声明$obj=new A(); echo $obj()会自动调用__invoke()方法.

__call() 当访问类中不存在的方法的时候,这个方法会被自动调用

参数列表 __call($name,$parameters)

__callStatic()当访问类中不存在的静态方法的时候,这个方法会被自动调用。

参数列表 __callStatic($name,$parameters)

必须被声明为static

__get()方法当访问类中不存在的属性的时候,

会自动调用这个方法。

函数的参数__get($name)

__set()方法当给类中不存在的属性赋值的时候,会自动调用这个方法。

__set()函数参数($name,$value);

__isset()方法当用isset()或者empty()判断属性存不存在的时候,

传入的属性并不存在的时候,该方法将会自动调用。

__unset()方法当用unset()传入一个不存在的属性的时候,会自动调用、

__clone()方法,

当使用clone方法的时候,如果没有声明__clone方法,

使用$obj2=clone $obj1;能够完全拷贝obj1的内容,并且更改

$obj2的属性不会影响到$obj对应的属性。

__clone可在这个时候,控制clone过程中,希望不被复制的内容。

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值