PHP面向对象中几个重要的点
延迟静态绑定
self 用于类中静态
this 用于对象中静态
static 延迟绑定用于对象中实例化本类
parent 用于父级元素
高内聚,低耦合
耦合:多个组合、多个类。
内聚:重复代码。
组合优于继承,针对接口编程,变化的概念,父子关系
面向对象基础
封装
继承
抽象->调用具体的类方法
多态
多态是指程序能够检测对象所属的实际类, 并在当前上下文不知道其真实类型的情况下调用其实现的能力。
多态(Polymorphism)属于面向对象三大特征之一,它的前提是封装形成独立体,独立体之间存在继承关系,从而产生多态机制。多态是同一个行为具有多个不同表现形式或形态的能力。
抽象
设计原则
- 封装变化的内容
- 组合优于继承
- 面向接口进行开发,而不是实现
SOLID 原则
- 单一职责原则
修改一个类的原因只能有一个。 - 开闭原则
对于扩展, 类应该是“开放” 的; 对于修改, 类则应是“封闭”的。 - 里氏替换原则
当你扩展一个类时, 记住你应该要能在不修改客户端代码的情况下将子类的对象作为父类对象进行传递。 - 依赖倒置原则
高层次的类不应该依赖于低层次的类。 两者都应该依赖于抽象接口。抽象接口不应依赖于具体实现。 具体实现应该依赖于抽象接口 - 接口隔离原则
客户端不应被强迫依赖于其不使用的方法。
对象之间的关系
- 依赖
对类 B 进行修改会影响到类 A 。 - 关联
对象 A 知道对象 B。类 A 依赖于类 B。 - 聚合
对象 A 知道对象 B 且由 B 构成。类 A 依赖于类 B。 - 组合
对象 A 知道对象 B、由 B 构成而且管理着 B 的生命周期。类 A 依赖于类 B。 - 实现
类 A 定义的方法由接口 B 声明。对象 A 可被视为对象B。类 A 依赖于类 B。 - 继承
类 A 继承类 B 的接口和实现, 但是可以对其进行扩展。对象 A 可被视为对象 B。类 A 依赖于类 B。