每天一道面试题-谈谈对面向对象思想的理解
这个问题,通常会让很多人有点不知所措,感觉我一直在编码,但是说到思想很难去阐述。
下面,我说说自己的想法,
首先,谈谈“面向过程”vs“面向对象”
我觉得这两者是思考角度的差异,面向过程更多是以“执行者”的角度来思考问题,而面向对象更多是以“组织者”的角度来思考问题,举个例子,比如我要产生一个0-10之间的随机数,如果以“面向过程”的思维,那我更多是关注如何去设计一个算法,然后保证比较均衡产生0-10的随机数,而面向对象的思维会更多关注,我找谁来帮我们做这件事,比如Random类,调用其中提供的方法即可。
所以,面向对象的思维更多的是考虑如何去选择合适的工具,然后组织到一起干一件事。
好比一个导演,要拍一场电影,那么首先要有男猪脚和女猪脚,然后还有其他等等,最后把这些资源组织起来,拍成一场电影。
再说回我们的程序世界,这个组织者的思维无处不在,比如,我们要开发项目,以三层架构的模式来开发,那么这个时候,我们不需要重复造轮子,只需要选择市面上主流的框架即可,比如SpringMVC,Spring,MyBatis,这些都是各层的主流框架。
好了,今天就到这,大家可以自己再想很多这样的例子出来,每天一篇,持续更新
每天一道面试题-谈谈对面向对象思想的理解相关推荐
- 从一道面试题谈谈一线大厂码农应该具备的基本能力
作者:Yura Shevchenko 来源:skypixel.com 关于一线码农的面试,我想说 求职面试在绝大部分人来说都是必不可少的,自己作为求职者也参与了不少面试(无论成功或者失败),作为技术面 ...
- 简述对面向对象思想的理解
面向对象思想得由来是,起初我们的需求单一或者特别简单时,可以一步一步的去进行操作,并且效率也不是很低,可是随着需求进一步的提高,所需要实现的功能也就越多,我们发现需要面对的每一个步骤很麻烦,所以就开始 ...
- 谈谈java面向对象思想_对于Java面向对象思想的理解
在Java中,除了8种基本数据类型.其他皆为对象! 面向对象主要有 三个基本特征:封装,继承,多态. 封装 主要概念是指:隐藏对象的属性和实现细节,仅对外暴露公共的访问方式.封装是面向对象最基本的特征 ...
- 从 Google 的一道面试题谈谈数学基础的重要性
编程能力是剑法,而数学基础是内功.只会剑法而不会内功,在实战中一定会鼻青脸肿. 2004 年,在硅谷的交通动脉 101 公路上出现了一块巨大的广告牌,上面是道数学题:{ e 的连续数字中最先出现的 1 ...
- Java中对于面向对象思想的理解
1. ① 与C语言面向过程不同的是,C语言中函数是主体,如果需要修改数据需要函数来进行修改,所以来说函数在C语言中是很重要的,基本上对于数据的操作都是这样的,但是有的时候不太方便,而Java语言面向对 ...
- java面向对象思想如何理解
Java 的核心是面向对象编程 . 所有的 java 程序都是面向对象的. 以前总听老师说 c 语言是面向过程的, c++ 和 java 是面向对象的,这些糊涂老师却从来不说明何为面向过程,何为 ...
- 面试题谈谈你对spring的理解
1.spring为什么出现. spring的出现是为了解耦,我们在学习java初期,相信很多小伙伴都使用的是JSP+Servlet+MySQL+JDBC技术,在操作dao层的时候,每次都需要实例化一次 ...
- 面向对象基础--面向对象思想(理解)
一.了解面向对象 1.概念基本理解:1).一个个体可以看做是一个对象,例如:人这个个体: 2).有共同属性的一类作为一个个体,例如:学生.白领.农民工: 3).结构体是用户自定义的数据类型,可以定义不 ...
- 集合面试题(谈谈你对集合的理解?)
目录 1.Collection 与Collections的区别 2.Collection下的接口: 1. List 元素有序,可重复. 实现类的区别如下: 1.ArrayList 2.LinkedLi ...
最新文章
- Hibernate 主键维护策略和hibernate 常见的映射类型
- SQL旁注精华珍藏版代码
- Annotation 注解
- android学习笔记---43_音乐播放器,音频采集,音乐播放,使用SoundPool播放音效
- Word2003和2007如何隐藏去掉回车符
- 固高运动控制卡的使用 2 关于IO的访问以及调用(C#版)
- RS-485上下拉电阻选择
- NPOI操作Excel类代码(打开 插入 设置行列宽 合并单元格 增删改工作表 保存等等) .NET4.5
- UE4中的Spline用法
- 腾讯微博qq说说备份导出工具_曾经比微信还火,3亿人用过的腾讯软件,如今彻底凉了...
- 简单PHP会话(session)说明
- CodeForces 1389G Directing Edges 边联通分量缩点+树形dp+rerooting technique
- MAXIMO工作流待办邮件提醒配置
- 【华人学者风采】汪萌 合肥工业大学
- android相机固定方向,如何正确设置Android相机方向?
- 【leetcode】2248. 多个数组求交集(js实现)
- Pygame pgu 入门详解
- 2022年自考专业考试(英语)外贸函电练习题
- Silverlight WebOS案例2.0版本(基于Silverlight4开发的Web操作系统)
- K210 only support kmodel V3/V4 now
热门文章
- 关于杜曼和七田真早教的两篇文章
- InVEST模型土壤保持模块原理及数据获取分析
- HA省OIer“NOIp“2019游记(蒟蒻最后的OI与高中生涯)
- C# AppDomain获取所有程序集的方法
- 徐璐微博乔哀悼内容_世界哀悼超人死了
- excel好久没rkw,记录下
- leetcode 21.合并两个有序链表
- jQuery图片居中裁切效果(转)
- python列表拆分为两个和相等_请问如何将list中元素划分为两部分,使得这两部分和相同(如果存在这样的划分)?...
- WGAN(Wasserstein GAN)看这一篇就够啦,WGAN论文解读