复盘:C++和java中,面向对象和面向过程的区别

复盘:C++和java中,面向对象和面向过程的区别

提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性

关于互联网大厂的笔试面试,都是需要细心准备的
(1)自己的科研经历,科研内容,学习的相关领域知识,要熟悉熟透了
(2)自己的实习经历,做了什么内容,学习的领域知识,要熟悉熟透了
(3)除了科研,实习之外,平时自己关注的前沿知识,也不要落下,仔细了解,面试官很在乎你是否喜欢追进新科技,跟进创新概念和技术
(4)准备数据结构与算法,有笔试的大厂,第一关就是手撕代码做算法题
面试中,实际上,你准备数据结构与算法时以备不时之需,有足够的信心面对面试官可能问的算法题,很多情况下你的科研经历和实习经历足够跟面试官聊了,就不需要考你算法了。但很多大厂就会面试问你算法题,因此不论为了笔试面试,数据结构与算法必须熟悉熟透了
秋招提前批好多大厂不考笔试,直接面试,能否免笔试去面试,那就看你简历实力有多强了。


面试官:请你说说复盘:C++和java中,面向对象和面向过程的区别

区别正如下图:面向过程,就是按照顺序一步步搞事情
面向对象,不是按步骤,而是按照模块化的对象搞事情
在这里插入图片描述

对象:现实中任何事物都可以称之为对象,有自己的独特的特点。
现实世界中的事物映射到代码中,就是一个对象
好操作
在这里插入图片描述

面向对象和面向过程的区别:

1、思路不同
2、特点不同
3、优势不同

面向过程是直接将解决问题的步骤分析出来,然后用函数把步骤一步一步实现,然后再依次调用就可以了;
面向对象是将构成问题的**事物,分解成若干个对象,**建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在解决问题过程中的行为。

面向过程思想偏向于我们做一件事的流程,首先做什么,其次做什么,最后做什么
面向对象思想偏向于了解一个人,这个人的性格、特长是怎么样的,有没有遗传到什么能力,有没有家族病史,有没有特殊能力。

面向过程是一种以过程为中心的编程思想,面向过程编程是基于“冯·诺依曼”模型的。
面向过程的优点:流程化使得编程任务明确,在开发之前基本考虑了实现方式和最终结果,具体步骤清楚,便于节点分析。
效率高,面向过程强调代码的短小精悍,善于结合数据结构来开发高效率的程序。
**缺点:**需要深入的思考,耗费精力,代码重用性低,扩展能力差,后期维护难度比较大

面向对象优点易维护、易扩展、易复用,有封装、继承、多态的特性、更容易设计出耦合的系统
缺点:性能比面向过程低。

在这里插入图片描述
扩展提问:如何理解面向对象的三个特性?

1.封装性

就是把属性和方法都放在一个类里面
而且还可以通过访问类的权限属性给区分开,更加安全
不想要释放的功能,直接搞成私有机制

2.继承性

就是把之前已经实现好的代码或者方法
通过继承的方法拿过来使用,能节省大量的代码量,符合代码设计里面的继承优秀代码特性。

3.多态性

由于可以继承多个类,能够组合成多种特性
但多态的关键是覆盖,就是同一个方法可以用不同的方式去实现,展现出多态性。
在这里插入图片描述


总结

提示:重要经验:

1)面向过程的操作就是顺序操作,性能快,但是难以复用,不好维护
2)面向对象虽然性能不快,但是是按照模块属性操作,可复用性搞,继承性强,方便维护,易于扩展
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰露可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值