博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类和对象的系统函数和运算符
阅读量:4708 次
发布时间:2019-06-10

本文共 847 字,大约阅读时间需要 2 分钟。

有关类和对象的系统函数和运算符

class_exists(), :判断某个类是否存在(定义过)

interface_exists(), :判断接口是否存在

get_class():获取某个对象的“所属类名”

get_parent_class(), :获取某个对象的“所属父类的类名”

get_class_methods(), :获取一个类的所有方法,返回一个索引数组,就是这些方法的名字。

get_class_vars(), :获取一个类的所有属性,返回一个数组,下标为属性名,值为属性值。

get_declared_classes():获得所有声明过的类(含系统中的类)

is_object():判断是否对象

get_object_vars():获得对象的所有属性,返回一个数组,下标为属性名,值为属性值

运算符:

new:

instanceof: 判断一个对象是否是某个类的“实例”

 

 

 

两个特定语法场景的辨析:

对象向下传递特性;

当一个对象($o1) 调用一个实例方法,然后,在该实例方法(f1)中又去“静态”调用另一个类的方法(f2),则在方法f2中,会自动获得在方法f1中的那个$this对象。

 

 

 

可见f2方法直接调用会产生严重错误(因为找不到$this)

static后期静态绑定特性:

 

可见static有3个不同含义的语法:

函数中的静态变量:

function  f1(){

static $v1 = 1;

}

类中的静态成员:

class A{

static  $v1 = 1;

static  function f1(){}

}

方法中的动态指代“当前类”:

class A{

function f1(){

static::f2();//static此时指代调用f1这个方法的类(或对象的类)

self::f2(); //self这里永远指代当前A这个类。

}

}

 

转载于:https://www.cnblogs.com/zsyzsyzsyzsyzsy/p/10916556.html

你可能感兴趣的文章
nginx+tomcat配置https
查看>>
[hadoop]备份
查看>>
Redis 哈希(Hash)
查看>>
微享:快速分享网页到新浪微博
查看>>
7. 信号的处理问题
查看>>
SDN简介
查看>>
xshell远程终端操作Ubuntu server安装LAMP环境之最详细笔记之二PHP开发环境配置
查看>>
Ionic实战 自动升级APP(Android版)
查看>>
C#中的委托和事件(续)
查看>>
python--MySql
查看>>
机器学习 - pycharm, pyspark, spark集成篇
查看>>
mysql explain 中key_len的计算
查看>>
实验一
查看>>
Linux内核--网络栈实现分析(九)--传输层之UDP协议(下)
查看>>
Lua -- 简洁、轻量、可扩展的脚本语言
查看>>
Python 2.7_Second_try_爬取阳光电影网_获取电影下载地址并写入文件 20161207
查看>>
[Fiddler] 开启Fiddler抓包的时候产品报“证书错误”
查看>>
打包苦逼活
查看>>
Django:视图views(一)
查看>>
Oracle Certified Java Programmer 经典题目分析(二)
查看>>