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

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

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


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


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


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


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


               总结:


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


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


                               面向对象的五大基本原则


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


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


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


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


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

相关文章
|
6月前
|
机器学习/深度学习 存储 运维
深度学习如何让“运维知识库”从“聪明”到“智慧”
深度学习如何让“运维知识库”从“聪明”到“智慧”
196 18
|
12月前
|
IDE Java 测试技术
《深入理解Maven:构建工具、常用命令与项目包技巧解析》
《深入理解Maven:构建工具、常用命令与项目包技巧解析》
214 0
|
C# 数据安全/隐私保护
C# 一分钟浅谈:类与对象的概念理解
【9月更文挑战第2天】本文从零开始详细介绍了C#中的类与对象概念。类作为一种自定义数据类型,定义了对象的属性和方法;对象则是类的实例,拥有独立的状态。通过具体代码示例,如定义 `Person` 类及其实例化过程,帮助读者更好地理解和应用这两个核心概念。此外,还总结了常见的问题及解决方法,为编写高质量的面向对象程序奠定基础。
170 3
|
11月前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
222 32
|
存储 算法 C语言
怎么理解面向对象和面向过程到底的本质区别? .
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
|
JavaScript 前端开发
Vue、ElementUI配合Node、multiparty模块实现图片上传并反显_小demo
如何使用Vue和Element UI配合Node.js及multiparty模块实现图片上传并反显的功能,包括前端的Element UI组件配置和后端的Node.js服务端代码实现。
188 1
Vue、ElementUI配合Node、multiparty模块实现图片上传并反显_小demo
|
11月前
|
搜索推荐 开发者
熊猫比分-专业体育赛事直播app/网页搭建
体育赛事直播APP已成为体育迷观看和讨论赛事的重要渠道。其核心功能包括:1) 实时直播,支持转播、录播、回放,确保低延迟、高流畅度和优质画质;2) 比分数据分析,提供首发阵容、历史对战等信息;3) 用户互动,支持评论、打赏及私聊;4) 主播中心,允许用户申请成为主播并获平台支持。
|
Web App开发 存储 前端开发
vue2精简方式实现鼠标在方框内拖拽效果源码
vue2精简方式实现鼠标在方框内拖拽效果源码
277 3
|
JavaScript 前端开发
JavaScript基础&实战 JS中正则表达式的使用
这篇文章介绍了JavaScript中正则表达式的使用,包括正则表达式的创建、匹配模式、字符串匹配、拆分、搜索、匹配和替换等方法,并通过示例代码展示了如何应用这些技术。
JavaScript基础&实战 JS中正则表达式的使用
|
机器学习/深度学习 数据采集 人工智能
深度学习在医疗影像分析中的应用与未来展望
深度学习技术近年来在医疗影像分析领域取得了显著进展,通过自动化处理和高度准确的诊断能力,极大地提升了疾病检测和治疗的效率。本文探讨了当前深度学习在医疗影像分析中的应用现状,具体案例,以及未来可能的发展方向和面临的挑战。
263 3