POP(面向过程编程Process Oriented Programming):
分析出解决问题所须要的步骤,而后用函数把这些步骤一步一步实现,使用的时候依次调用。编程
面向过程就是一步一步的来,在项目以前就已经固定好每一步了安全
OOP(面向对象编程Object Oriented Programming):
针对业务处理过程的实体及其属性和行为进行抽象封装。
OOP有三个特征:封装,继承,多态。
(1)封装性:
封装是指将对象信息抽象成一个实体,其中属性方法不容许外部程序直接访问。简单来讲,封装就是要找出某一类事物的公共属性而后提取出来。
(2)继承性:
子类继承了父类全部的成员方法和属性,能够拥有本身的属性,子类也能够重写父类方法。继承解决了代码的重用问题 .
(3)多态性:
多态存在的三个条件:1.继承 2.重写 3.父类引用指向子类对象
多态的实现方式1.接口实现,继承父类方法重写,同一个类中进行重载数据结构
AOP(面向切面编程Aspect Oriented Programming):
采起横向抽取机制,即将分散在各个方法中的重复代码提取出来,而后在程序编译或运行阶段,再将这些抽取出来的代码应用到须要执行的地方。模块化
POP编程是以功能为中心来思考和组织程序,注重功能的实现,达到效果就能够了;
OOP则注重封装,以对象为中心,强调总体性,代码总体变得更规范;可是OOP的耦合性仍是很高,一旦代码须要修改,会对不少类形成影响,代码冗余问题严重,并且核心业务中总夹杂着一些它并不关心的通用业务,好比日志记录、性能统计、安全控制、事务处理、异常处理等;
AOP正好解决了OOP周边通用业务的解耦问题。
三者之间是一个相互补充和完善的关系。函数