面向过程
是一种以过程为中心的编程思想,简单来说就是分析出解决问题所需要的步骤,然后按照步骤一步步编程实现。面向过程以实现功能的函数为主,如果需要实现某个功能,只需要编写对应的函数即可。
优点
性能比面向对象高。
缺点
不易复用和扩展。
面向对象
是一种以建立对象为基础的编程思想,简单来说就是分析构成问题的各个部分,将其拆分成独立的对象,用于描述某个部分在解决问题过程中所需要执行的行为,面向对象的特性是封装,继承,多态。面向对象以实现功能的对象为主,如果需要实现某个功能,需要先创建对应的对象,然后让对象去执行行为。
优点
能够降低系统的耦合,提高系统的可维护性
缺点
性能比面向过程低。
面向对象六大原则
- 单一职责原则
一个类的功能要单一。 - 开放封闭原则 类应该对扩展开放,对修改关闭。
- 里氏替换原则 任何使用基类的地方,都能使用子类替换。
- 接口隔离原则 建立单一接口,将接口粒度最小化。
- 依赖倒置原则 类要依赖于抽象,而不是具体。
- 合成/聚合复用原则 优先使用聚合或合成关系复用代码。