编程思想 - 面向对象编程和面向过程编程的区别理解

简介: 编程思想 - 面向对象编程和面向过程编程的区别理解

首先面向对象编程是一种编程思想 还有一种不同的思想是面向过程编程


               首先分别解释一下面向过程和面向对象的区别  


               面向对象编程 注重的是对象 由对象内部的属性和方法 通过调用对象方法的形式解决问题。


               面向过程编程 注重的是过程 需要具体到例如代码的实现和实现思路等。


               不管是面向对象还是面向过程都是一种思考问题的方式 是一种思想。


               总结:


                               1. 面向对象把复杂的问题简单化 。面向过程需要关注每一步的实现,而面向对象只需要关注一个对象即可。


                               2. 面向对象基于面向过程


                               面向对象的五大基本原则


                                       ①:单一职责原则(SRP): 也就是说一个类 需要明确负责一个功能      不能让一个类负责太多的内容 否则就会使得耦合度增高导致设计过于复杂繁琐


                                       ②:开放-封闭原则(OCP):开放-封闭原则也是面向对象编程的核心, 这里的 开发指的是可以扩展 而封闭指的是不可以修改 这可以提高面向对象编程的可维护性,可扩展性,可复用性,并且灵活性好。


                                       ③:里氏替换原则(LSP): 子类型必须能够替换掉它们的父类型,只有当子类可以完全替换掉父类时 父类才能真正的被复用,而子类也可以在步修改父类的基础上扩展新的方法/行为。


                                       ④: 依赖倒置原则(DIP):  依赖倒置原则可以说是面向对象设计的标志,也就说所有创建的子类都是依赖于父类也就是抽象类或接口 这就是面向对象的设计 反之则是面向过程的设计了


                                       ⑤: 接口隔离原则(ISP): 也就是开头说的一个类应该只负责一个功能 不同的类分别负责不同的功能 而将不同功能的接口或类进行合并 要比一个臃肿的大接口要好得多。

相关文章
|
8月前
|
机器学习/深度学习 存储 运维
深度学习如何让“运维知识库”从“聪明”到“智慧”
深度学习如何让“运维知识库”从“聪明”到“智慧”
305 18
|
IDE Java 测试技术
《深入理解Maven:构建工具、常用命令与项目包技巧解析》
《深入理解Maven:构建工具、常用命令与项目包技巧解析》
248 0
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
296 32
|
搜索推荐 开发者
熊猫比分-专业体育赛事直播app/网页搭建
体育赛事直播APP已成为体育迷观看和讨论赛事的重要渠道。其核心功能包括:1) 实时直播,支持转播、录播、回放,确保低延迟、高流畅度和优质画质;2) 比分数据分析,提供首发阵容、历史对战等信息;3) 用户互动,支持评论、打赏及私聊;4) 主播中心,允许用户申请成为主播并获平台支持。
|
供应链 算法 安全
深度解析区块链技术的分布式共识机制
深度解析区块链技术的分布式共识机制
679 0
|
Web App开发 存储 前端开发
vue2精简方式实现鼠标在方框内拖拽效果源码
vue2精简方式实现鼠标在方框内拖拽效果源码
316 3
|
关系型数据库 MySQL 数据库
深入浅出MySQL索引优化:提升数据库性能的关键
在这个数据驱动的时代,数据库性能的优劣直接关系到应用的响应速度和用户体验。MySQL作为广泛使用的数据库之一,其索引优化是提升查询性能的关键。本文将带你一探MySQL索引的内部机制,分析索引的类型及其适用场景,并通过实际案例演示如何诊断和优化索引,以实现数据库性能的飞跃。
|
Linux
CentOS-Stream-9配置chfs
通过上述步骤,您就可以在CentOS Stream 9上配置并运行CHFS,为用户提供基于HTTP的文件分享服务。请注意,实际操作时应根据CHFS的具体版本和文档进行适当调整。
449 0
|
JavaScript 前端开发
JavaScript基础&实战 JS中正则表达式的使用
这篇文章介绍了JavaScript中正则表达式的使用,包括正则表达式的创建、匹配模式、字符串匹配、拆分、搜索、匹配和替换等方法,并通过示例代码展示了如何应用这些技术。
JavaScript基础&实战 JS中正则表达式的使用
|
机器学习/深度学习 数据采集 人工智能
深度学习在医疗影像分析中的应用与未来展望
深度学习技术近年来在医疗影像分析领域取得了显著进展,通过自动化处理和高度准确的诊断能力,极大地提升了疾病检测和治疗的效率。本文探讨了当前深度学习在医疗影像分析中的应用现状,具体案例,以及未来可能的发展方向和面临的挑战。
313 3