300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C C++?面向对象?面向过程?

C C++?面向对象?面向过程?

时间:2022-05-18 13:22:26

相关推荐

C C++?面向对象?面向过程?

在学习C、C++以来,一直是在使用它们来编程,却从没有去仔细的考虑过他们的基本的思想,突然被问到面向对象、面向过程的时候,就会有一些吞吞吐吐,模棱两可(这都不知道,还好意思说自己会C、C++??面试官:好了下一位。),所以现在要用自己的语言去说明自己的看法。

一、面向对象(OOP)和面向过程

1.面向对象和面向过程是什么

C语言是面向过程语言,C++是面向对象语言,而这两个究竟是什么呢?

计算机语言是用来解决实际生活中的问题的,而问题的解决方法又有很多种。

(1)对于C语言而言,面对一个问题,它总是要分析解决这个问题需要哪些步骤(即分析了问题的过程),然后通过函数去一步一步的将这些步骤实现出来,最后挨个调用这些函数去解决这个问题,这就是面向过程,是一种底层思维。

(2)C++就不一样了,我觉得C++教会我的是如果把问题分解成一个个小问题,然后通过这些小问题解决方法的相互耦合去解决大问题。也就是说,当面对一个问题时,先把问题本身分解为各个小部分(对象),对于每一部分我们来设定该部分的实现方案,也就是说只需要完成该部分特定的行为,通过各对象完成本职工作或者对象间的协调配合去完成整个任务。这就是面向对象,是一种上层思维。

2.为什么要有面向对象和面向过程呢

存在即合理,他们一定有各自的优劣势呀!

(摘抄)

面向过程:

优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能时最重要的因素。缺点:没有面向对象易维护、易复用、易扩展。

面向对象:

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。(三大基本特征:封装、继承、多态)缺点:性能比面向过程低。

区别:

(1)出发点不同

(2)层次逻辑关系不同

(3)数据处理方式与控制程序不同

(4)分析设计与编码转换方式不同

3.怎么用呢?

我觉得怎么使用这个问题的回答是无法被回答出来的,因为对于一种方法,只有在自己的实践过程中慢慢去悟出来的。我也要从日常的学习中去领悟面向对象、面向过程的真正意义。

二、C、C++的区别和联系

联系:

C++是C的超集,兼容大部分C的语法的结构

(应该算是一种血缘关系了吧,个人认为,把C学好了入门其他高级语言就会容易很多,切记勿在浮沙筑高台!!!!)

常见问法知识:

1.面向对象、面向过程

2.动态内存管理(new/delete,malloc/free)

3.C的struct、c++的class

4.引用和指针的区别

5.等等等

区别简直太多了,这些也都是面试常见问题,慢慢整理,慢慢补充吧。

继续加油吧!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。