面向对象和面向过程的区别

1,832 阅读1分钟

面向过程

是一种以过程为中心的编程思想,简单来说就是分析出解决问题所需要的步骤,然后按照步骤一步步编程实现。面向过程以实现功能的函数为主,如果需要实现某个功能,只需要编写对应的函数即可。

优点

性能比面向对象高。

缺点

不易复用和扩展。

面向对象

是一种以建立对象为基础的编程思想,简单来说就是分析构成问题的各个部分,将其拆分成独立的对象,用于描述某个部分在解决问题过程中所需要执行的行为,面向对象的特性是封装,继承,多态。面向对象以实现功能的对象为主,如果需要实现某个功能,需要先创建对应的对象,然后让对象去执行行为。

优点

能够降低系统的耦合,提高系统的可维护性

缺点

性能比面向过程低。

面向对象六大原则

  • 单一职责原则
    一个类的功能要单一。
  • 开放封闭原则 类应该对扩展开放,对修改关闭。
  • 里氏替换原则 任何使用基类的地方,都能使用子类替换。
  • 接口隔离原则 建立单一接口,将接口粒度最小化。
  • 依赖倒置原则 类要依赖于抽象,而不是具体。
  • 合成/聚合复用原则 优先使用聚合或合成关系复用代码。