一些类和对象的系统函数
- class_exists():判断某个类是否存在
- interface_exists():判断接口是否存在
- get_class():获取某个对象的"所属类名"
- get_parent_class():获取某个对象的"所属父类类名"
- get_class_methods():获取一个类的所有方法,返回一个索引数组, 数组里是所有的方法
- get_class_vars():获取一个类的所有方法,返回一个键值对数组
- get_declared_classes():获得所有声明过得类(包含系统中的类)
对象有关:
- is_object():判断是否为对象
- get_object_vars():获得对象的所有属性,返回一个数组,下标为属性名,值为属性名
- 对象名 instanceOf '类名':判断对象是否为某个类的对象
注意:如果有继承关系,它也一定为该上级类的对象。
两个特定语法场景辨析
对象向下传递:
当一个对象调用一个实例方法,然后在该实例方法(f1)中又去"静态"调用另
一个类的方法(f2),则在方法f2中,会自动获得在方法f1中的$this对象。

static 后期静态绑定特性:
在方法中使用self代表代码所在的那个类,而static代表调用方法所在的那个类,一般需求较常用static,比较灵活

static3个不同的用武之地:
- 函数中的静态变量
- 类中的静态成员
- 方法中的动态指代"指代"当前类
面向对象三大思想特征介绍
- 封装
把数据封闭起来,尽量不让别人看到,类的定义其实可以认为最基本的封装,通常理解的封装是尽量将属性作为私有,并通过公共方法来向外提供对该属性的操作。 - 继承
很容易理解,不在多说 - 多态
大致行为:看起来使用的是相同的方法,却得到不同的结果。一个对象使用相同的方法,但能得到不同的结果,直观的例子,相同方法名,可以有不同的参数数量和类型,PHP中不能直接使用多态,但能变相达到相同的效果。
网友评论