1、属性
2、类常量
3、自动加载:当使用未定义的类时自动调用spl_autoload_register函数,前提是定义过此函数,通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。
4、构造函数、析构函数
5、访问控制
6、继承
7、范围解析操作符:更简单地说是一对冒号,可以用于访问静态成员,类常量,还可以用于覆盖类中的属性和方法。
8、static静态
9、abstract抽象类
10、interface接口,用implements继承实现接口
11、traits
12、重载、重写
重载:是指通过魔术方法动态地创建类属性和方法。
重写:就是子类继承父类,子类方法覆盖父类方法。
13、遍历对象
14、魔术方法
15、final
16、克隆赋值
17、类型约束
18、引用
19、对象序列化
20、设计模式
21、封装:是通过访问修饰符,将类中不需要外部访问的属性和方法进行私有化处理,来实现访问控制。
继承:通过在子类上使用extends,可以让子类继承父类中的非私有属性和方法。
多态:在PHP中,多态值指的就是方法的重写。一个类被多个子类继承,如果这个类的某个方法在多个子类中表现不同的功能,那么这种行为我们就称其为多态的实现。
多态的实现必须要满足三个条件:一是子类继承父类,二是子类重写父类的方法,三是父类引用指向子类对象。
抽象类与接口的区别:
在学习PHP面向对象时,都会在抽象类与接口上迷惑,作用差不多为什么还那么容易混淆,何不留一去一?但是事实上两者的区别还是很大的,如果能够很好地运用PHP的两个方法,面向对象的程序设计将会更加合理、清晰高效。
- 对接口的使用方式是通过关键字implements来实现的,而对于抽象类的操作是使用类继承的关键字exotends实现的,使用时要特别注意。
- 接口没有数据成员,但是抽象类有数据成员,抽象类可以实现数据的封装。 接口没有构造函数,抽象类可以有构造函数。
- 接口中的方法都是public类型,而抽象类中的方法可以使用private、protected或public来修饰。
一个类可以同时实现多个接口,但是只能实现一个抽象类。
相同点:函数体内不能写任何东西,连两个大括号都不能写!!!如:function getName();这样就行了