面向对象 VS 面向过程

本文探讨了面向过程和面向对象编程的区别,强调面向对象的封装、继承、多态和抽象特性。同时,介绍了面向对象设计原则,如接口隔离、单一职责、依赖倒置和开闭原则。设计模式和编码规范也被提及,它们在提升代码可读性和可扩展性方面的作用。重构作为保持代码质量的重要手段,需要结合面向对象编程和设计原则适时进行。
摘要由CSDN通过智能技术生成

面向过程
面向过程是以过程(或方法)作为组织代码的基本单元。 面向过程过程风格的代码被组织成了一组方法集合及其数据结构,方法和数据结构的定义是分开的,是一种流程化的、面条式的编程风格,用一组指令顺序操作数据,来完成一项任务。适合于处理流程只有一条主线

面向对象特性
封装
隐藏数据或者数据访问保护,防止数据属性到处可以被修改,势必影响代码的可读性,可维护性,也会造成数据不一致;同时通过暴露有限的方法和属性,也能提高代码易用性

继承
代码复用,但是深度继承会造成代码可读性差,耦合严重,修改父类会影响子类

多态
子类可以替换父类,在实际的代码运行过程中,调用子类的方法实现。提高代码的可扩展性(继承接口)和复用性(将不同的实现类传递给函数参数),多态也是很多设计模式,设计原则,编程技巧的代码实现基础,比如策略模式、基于接口而非实现编程、依赖倒置原则、里氏替换原则、利用多态去掉冗长的if-else语句

抽象
隐藏复杂实现,调用者无需了解细节,也用来指导架构设计(基于抽象、开闭原则、代码解耦),通过函数包裹业务逻辑也是一种抽象
封装、继承、多态、抽象是设计原则、设计模式等编码实现的基础

面向对象设计原则
接口隔离
单一职责
依赖倒置
迪米特
开闭原则
DRY原则、KISS原则

设计原则是指导我们代码设计的一些经验总结,对于某些场景下,是否应该应用某种设计模式,具有知道意义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值