您现在的位置是:首页 >其他 >【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++那么具有面向对象编程的特性,但在许多领域仍然扮演着重要的角色,是必须掌握的基础知识之一。
OOD (Object-Oriented Design) :面向对象的设计
OOA (Object-Oriented Analysis): 面向对象的分析
二、C++
C++ 是一门面向对象编程的语言,把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为,更注重的是程序的整体设计。
方便程序后期维护、优化和管理,让一个功能尽可能的通用。
面向对象编程只有一个价值:应对需求的变化,本意是要处理大型复杂系统的设计和实现。
OOP语言提供了构建对象的机制,将问题分解为可的部分,从而更好地满足问题的需求。
关于C++的用途:
-
C++是一门强类型语言,需要进行显式类型声明并支持运算符重载、多态等高级特性;
-
C++支持指针和引用,灵活处理内存管理和数据传递
-
C++具有较好的可移植性和跨平台性,可以编写高效的系统和底层代码
-
C++广泛应用于游戏开发、图形界面设计、嵌入式系统、科学计算、金融工程等领域
-
C++也是许多大型软件系统和框架的基础语言,如OpenGL、Qt、Boost等
三、面向过程与面向对象
面向过程和面向对象,其本质还是在其设计思想上的区别!
面向过程
优点:性能比面向对象高,比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
面向对象的优缺点与面向过程相对
面向对象
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。
缺点:因为类调用时需要实例化,开销比较大,比较消耗资源,性能比面向过程低。
C++是由C衍生出来的一门语言,不但兼容包含了C语言还增加了一些新特性:函数重载,类、继承、多态,支持泛型编程 (模板函数、模板类),强大的STL库等…
封装、继承、多态
面向对象的三大特性:封装、继承、多态
封装
通过将数据和方法存储在类中,隐藏了实现细节,使得代码更加清晰和安全
继承
允许通过继承基类,从而建立更丰富的类层次结构和代码复用机制
多态
使用基类指针或引用来调用派生类方法,实现运行时的动态绑定和更好的可扩展性
**STL(标准模板库)**提供了泛型算法和数据结构,大大提升了C++语言的表达能力和灵活性。
大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。 |
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●) |