1.面向对象的访问控制权限
public 允许对象内部,对象外部使用
protected 允许对象内部,以及子类使用
private 只允许对象内部使用
2.面向对象的继承
面向对象是单一继承,同时只能继承一个类。(对象的继承)
如果有接口情况,对象可继承多个接口和继承一个类
3.面向对象的多态
抽象类的定义
定义为抽象的类不能被实例化,任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须是抽象类。
继承方式:extends
定义方式:abstract
接口的定义
使用接口,可以指定某个类必须实现的那些方法,但不需要定义这些方法的具体内容
继承方式:implements
定义方式:interface
区别:1.继承方式不一样
2.接口不可以声明变量,但是可以声明类常量(const),抽象类中可以声明各种变量
3.接口没有构造函数,抽象类可以有
4.接口中的方法默认为public,抽象类中的可以用public,private,protected修饰
5.一个类可以继承多个接口,但只能继承一个抽象类
4.魔术方法
__construct() 类的构造函数
__destruce() 类的析构函数
当对象被销毁时,自动调用
__call() 在对象中调用一个不可访问方法时调用
__callStatic() 用静态方式中调用一个不可访问方法时调用
---------------------------------------- 对不可访问属性的操作 start ------------------------------------------------
__get() 获得一个类的成员变量时调用
__set() 设置一个类的成员变量时调用
__isset() 当对不可访问属性调用isset()或empty()时调用
__unset() 当对不可访问属性调用unset()时被调用。
---------------------------------------- 对不可访问属性的操作 end -------------------------------------------------
__sleep() 执行serialize()时,先会调用这个函数
__wakeup() 执行unserialize()时,先会调用这个函数
__toString() 类被当成字符串时的回应方法
__invoke() 调用函数的方式调用一个对象时的回应方法
__set_state() 调用var_export()导出类时,此静态方法会被调用。
__clone() 当对象复制完成时调用
5.面向对象设计模式
常见设计模式:工厂模式、单例模式、注册树模式、适配器模式、观察者模式、策略模式
解题方法
着重记忆PHP面向对象的基本语法,记忆魔术防范,理解常见设计模式