【C/C++】C语言和C++的区别 | 面向过程与面向对象

这篇具有很好参考价值的文章主要介绍了【C/C++】C语言和C++的区别 | 面向过程与面向对象。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c++系列专栏:C/C++零基础到精通 🔥

给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

【C/C++】C语言和C++的区别 | 面向过程与面向对象

c语言内容💖:

专栏:c语言之路重点知识整合

【c语言】全部知识点总结


一、C语言

C语言采用了一种有序的编程方法——结构化编程

就是将一个大型程序分解为一个个小型的、易于编写模块,所有的模块有序的调动起来形成了一个程序的完整的运行链。
这种结构化编程反映出来过程性编程的思想,即C语言是一门面向过程的语言,更注重程序实现逻辑、怎么更好、更快、更直接的完成某功能

C语言是种面向过程编程的语言,在编写大型项目时,并不利于程序的复用性、扩展性,导致了在后期维护时带来了很多繁琐的工作,面临巨大挑战。

----》》

针对于此,OOP (Obiect-Oriented Programming)的概念诞生了,与结构化编程不同的是,OOP更注重数据,让语言来满足问题的需求,设计出与问题本质特性相对应的数据格式。

它与结构化编程不同,强调数据的重要性,并设计相应的数据格式来解决问题。
OOP的编程思想是将问题看作是由许多相互关联的对象组成的
每个对象拥有自己的属性和行为,可以与其他对象交互完成任务

C语言作为一门古老但经典的编程语言,拥有简洁、高效、底层等优秀特性

虽然不如C++那么具有面向对象编程的特性,但在许多领域仍然扮演着重要的角色,是必须掌握的基础知识之一。
【C/C++】C语言和C++的区别 | 面向过程与面向对象

OOD (Object-Oriented Design) :面向对象的设计

OOA (Object-Oriented Analysis): 面向对象的分析


二、C++

C++ 是一门面向对象编程的语言,把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为,更注重的是程序的整体设计

方便程序后期维护、优化和管理,让一个功能尽可能的通用。

面向对象编程只有一个价值:应对需求的变化,本意是要处理大型复杂系统的设计和实现

OOP语言提供了构建对象的机制,将问题分解为可的部分,从而更好地满足问题的需求。


关于C++的用途

  • C++是一门强类型语言,需要进行显式类型声明并支持运算符重载、多态等高级特性;

  • C++支持指针和引用,灵活处理内存管理和数据传递

  • C++具有较好的可移植性和跨平台性,可以编写高效的系统和底层代码

  • C++广泛应用于游戏开发、图形界面设计、嵌入式系统、科学计算、金融工程等领域

  • C++也是许多大型软件系统和框架的基础语言,如OpenGL、Qt、Boost等

【C/C++】C语言和C++的区别 | 面向过程与面向对象


三、面向过程与面向对象

面向过程和面向对象,其本质还是在其设计思想上的区别!

面向过程

优点性能比面向对象高,比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。

缺点:没有面向对象易维护、易复用、易扩展

【C/C++】C语言和C++的区别 | 面向过程与面向对象
面向对象的优缺点与面向过程相对

面向对象

优点易维护、易复用、易扩展,由于面向对象有封装、继承、多态的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护

缺点:因为类调用时需要实例化,开销比较大,比较消耗资源,性能比面向过程低。

【C/C++】C语言和C++的区别 | 面向过程与面向对象


C++是由C衍生出来的一门语言,不但兼容包含了C语言还增加了一些新特性:函数重载,类、继承、多态,支持泛型编程 (模板函数、模板类),强大的STL库等…

封装、继承、多态

面向对象的三大特性:封装、继承、多态

封装

通过将数据和方法存储在类中,隐藏了实现细节,使得代码更加清晰和安全

继承

允许通过继承基类,从而建立更丰富的类层次结构和代码复用机制

多态

使用基类指针或引用来调用派生类方法,实现运行时的动态绑定和更好的可扩展性

STL(标准模板库)提供了泛型算法和数据结构,大大提升了C++语言的表达能力和灵活性。


【C/C++】C语言和C++的区别 | 面向过程与面向对象文章来源地址https://www.toymoban.com/news/detail-471994.html

大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●)

到了这里,关于【C/C++】C语言和C++的区别 | 面向过程与面向对象的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 设计模式学习笔记 - 面向对象 - 3.面向对象比面向过程有哪些优势?面向过程真的过时了吗?

    在过往的工作中,我发现很多人搞不清面向对象和面向过程的区别,总认为使用面向对象编程语言来开发,就是在面向面向对象编程了。而实际上,他们只是在用面向对象编程语言,编写面向过程风格的代码而已,并没有发挥面向对象编程的优势。这就相当于手握一把屠龙刀

    2024年02月22日
    浏览(29)
  • 从面向过程到面向对象

    目录 1、抽象 2、UML类图 3、类定义 4、类成员函数 (1)构造函数(constructor) (2)析构函数(destructor) 5、对象实现 6、封装 7、getter、setter方法 为什么要从面向过程转到面向对象? 随着计算机发展,问题场景越来越复杂,我们很难再描述每一个可能的过程 转而描述每一个

    2024年02月03日
    浏览(26)
  • 面向对象与面向过程

    从本质上而言,面向过程的和面向对象的本质是处理事务的方式。 它们不是所谓的顺序结构、类和抽象,也不是转型重载和继承等编程机制,而是如何理解事务,如何看待事务,如何处理事务的哲学思想。 面向过程是最基本的编程思想,它基于事件本身的逻辑。 也就是要想

    2023年04月19日
    浏览(29)
  • 面向过程 VS 面向对象

    学习编程, 基本功是掌握编程语言,但编程的本质是逻辑,所以编程思维的培养也很重要。面向过程和面向对象是两种重要的编程思想,下面讲述一下这两者的区别和优缺点比较。 面向过程是一种以事件为中心的编程思想,编程的时候把解决问题的步骤分析出来,然后用函

    2024年02月08日
    浏览(26)
  • 再谈编程范式(3):理解面向过程/面向对象/函数式编程的精髓

    面向过程是随着VB一起来到我的世界,那个时候会的非常有限,感觉能把程序写出来自己就非常棒了,VB是做那种可视化界面,在工具栏拖个框框放到面板上,然后就在各个事件上写完整的逻辑,什么封装,抽象,继承一概不懂,就有一种一个方法把实现过程需要的逻辑都罗列

    2024年01月20日
    浏览(30)
  • 【WinForm】C#实现商场收银软件,从面向过程到面向对象,设计模式的应用

    实现商场收银系统从简单的面向过程到面向对象的演变。 最容易想到的: 单价*数量=总价 根据输入的单价和数量,直接计算,将结果显示在listbox控件中。 重置按钮可以清零。 1、运行效果 2、界面设计 3、代码 版本2在版本1的基础上增加了打折优惠。 1、运行效果 打折下拉框

    2024年02月09日
    浏览(31)
  • 系统架构设计师笔记第25期:面向对象软件架构演化过程

    面向对象软件架构的演化过程可以分为以下几个阶段: 单一模块:初始阶段,整个软件系统被实现为一个单一的模块,所有功能和数据都集中在一个代码块中。这种设计简单直接,但缺乏模块化和可维护性。 分层架构:为了提高可维护性和模块化,系统被分解为多个层次,

    2024年02月12日
    浏览(33)
  • <C++> 类和对象-面向对象

    C语言是 面向过程 的,关注的是过程,分析出求解问题的步骤, 通过函数调用逐步解决问题。 C++是基于 面向对象 的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函

    2024年02月14日
    浏览(32)
  • <C++> 类和对象(上)-面向对象

    C语言是 面向过程 的,关注的是过程,分析出求解问题的步骤, 通过函数调用逐步解决问题。 C++是基于 面向对象 的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函

    2024年02月11日
    浏览(38)
  • 侯捷C++(一、面向对象)

    笔记 使用 同类型相加,Fraction类会使用析构函数将4类型转换 给析构函数加上 explicit 表示明确的析构函数,即此函数只进行析构操作(不会被编译器用作他处,如转换) https://www.cnblogs.com/-citywall123/p/12694761.html 指针指针的使用效率不会比一般的指针高,但是它胜在更安全、更

    2024年02月13日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包