- 博客(3)
- 收藏
- 关注
转载 【PHP反射类】
反射可以探知类的内部结构 可以用它做 hook 实现插件功能,或者做动态代理。会破坏类的封装性,因为反射可以使本不应该暴露的方法或属性被强制暴露了出来。基于动态代理,可以有更多的想象空间,如实现拦截器,属性方法增加,裁剪等等。反射 API 功能更强大,甚至能还原这个类的原型,包括方法的访问权限等。一个是对对象进行调试,另一个是获取类的信息,通常有以下应用方式。下面是一个利用反射特性,实现的简单的数据库动态代理。文档生成 用它对文件里的类进行扫描,生成描述文档。反射的性能消耗也很大,一般情况下尽量不使用。
2023-06-09 18:45:21 51 1
原创 【面向对象】
抽象类是一个类,可以有实例变量,也可以有实例方法的实现;而接口只是一组方法的集合,没有实例变量,也没有方法的实现。抽象类的子类必须实现抽象方法,否则子类也必须声明为抽象类;而实现接口的类必须实现接口中声明的全部方法。抽象类和接口是面向对象编程中的两个重要概念,它们虽然有相似之处,但也有很大的区别。抽象类中的抽象方法可以有访问修饰符,而接口中的方法只能是 public。抽象类中可以有非抽象方法,而接口中的方法必须全部是抽象方法。一个类只能继承一个抽象类,而一个类可以实现多个接口。
2023-04-27 16:53:55 48 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人