什么是面向对象的思想

小K的大师兄 2014-07-15 04:15:53
加精
在现在的软件行业,面向对象的思想应该说是没有人不知道的,我们几乎天天都在提面向对象的思想。那到底什么是面向对象的思想,和面向过程有什么区别?大家一起来讨论讨论吧,说说自己的理解,各抒己见。
...全文
16611 135 打赏 收藏 转发到动态 举报
写回复
用AI写文章
135 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2016-12-01
  • 打赏
  • 举报
回复
小白过来看看,还要十个字,最近正在学面相对象,表示很晕,做题做着做着就开始懵了
goodoycg 2015-02-09
  • 打赏
  • 举报
回复
继承、封装、多态。
sxldfang 2014-10-19
  • 打赏
  • 举报
回复
面向对象: 看看说明书就可利用别人提供的对象,比如:看电视、开汽车; 当然,我们也可造出这样的对象,方便别人使用。
smiholy 2014-10-19
  • 打赏
  • 举报
回复
好东西。。。
  • 打赏
  • 举报
回复
写代码时候想着你女友,也就是你的“对象” ,写出的个体能“吃”能”跑“能“打”就是面向对象
wangnaisheng 2014-10-18
  • 打赏
  • 举报
回复
引用 46 楼 hbu_pig 的回复:
还没对象。所以没能理解面向对象会是什么思想。
闲谈共视 2014-10-18
  • 打赏
  • 举报
回复
这个可以自己的理解去体会以我个人认为可以这样去理解的:(c和c++) 从一个例子:(求两个数的和) c思想: 就是在main()函数中添加代码去实现两个数的和:c=a+b;然后输出即可,就是体现了解决问题的过程! c++思想: 和c的思想就不一样了,以c++的思想就是把要得到的和c去看做是现实中的事物(class),把实现的过程去装!
lxsxd 2014-10-18
  • 打赏
  • 举报
回复
面向过程 和 面向对象 :关键还是理解什么是过程?什么是对象?代码是针对过程的就是面向过程,代码针对对象的就是面向对象。思考问题针对过程即面向过程,思考问题针对对象即面向对象。
  • 打赏
  • 举报
回复
我们写程序,当然要追求“少写代码,少发明class,把底层掌握好”。 但是我们从务实的角度去看软件工程,但是如果一个人纠缠于什么“增删改查”,纠缠于什么“编程语言”,而且如果认为任何层次的——软件工程发展50年的——“道”都只不过是玄学,还不如死抠点底层代码就好,那么其实就是没有道、也不会道给别人。
  • 打赏
  • 举报
回复
引用 121 楼 chenandczh 的回复:
道可道,非常道,不是用言语就能悟出来的。
刚看到,我竟然回复了同样内容。 多说两句。 有些人抠字眼,讲“是非”,这是“德”,是讲“君子”要遵守先人的八股教导不可以突破。 而“道”则是不讲是非,只讲“合理性”。它要求一个人能能够站在别人的立场上去分析逻辑问题,而不使用自己的概念去套用别人的逻辑。最终,判断的标准不是是非,而是“矛盾”。只要是矛盾的东西,就算是“真理”,也迟早要被修改。因而“道”是专注于逻辑上的无限制的创造力,研究其规律。我们给出一套“事实”,先不用考虑别人所认为的一套事实是否能够被我所认定为是事实,只要看看别人如何用事实来得到一系列决策就好了。因此我们可以迅速地学习别人的方法论、设计过程,而不是纠结于“是非”问题来干扰我们的理解力。
  • 打赏
  • 举报
回复
引用 123 楼 liuruitao647 的回复:
月经帖~~~ 面向对象。。大概和做人一个道理吧。要有个目标。。比如说,当圣人啦。 面向过程,就是你实现目标途中所做的努力。 继承,大概就是你想让别人也学习你认为有用的东西。使自己的学业有所传承。 封装,可以理解为出书。。比如,论语,道德经什么 的给别人看。自己就不用见人就讲解自己的见解了,省时省力。 多态,大概就是说做人不能太死板。就像那句“圣人无常心”。
有点意思。 所谓“道可道、非常道,名可名、非常名”,这就是中国古代哲学对于辨证地看待“面向对象”的很好的解释,它说明了概念系统是可以抽象,并加以扩展的。
ben2117 2014-10-17
  • 打赏
  • 举报
回复
认知心理学认为:人类的记忆都存储在外界。外界的物品会在人脑映射一个图元,而这个图元存储了这件物品的属性以及方法。比如说,我看见了一个杯子,好,这个是一个杯子,并且这是一个马克杯子(继承至杯子),所以它是凹型的(继承至杯子的属性),材质是陶瓷,带耳朵等等属性(这就是一个实例了),而且这个杯子可以用来喝水。这些都是当我看见杯子后想到的,可能每个人的关注点不一样,想到的属性都不一样,一个陶瓷工可能会更加关注它的材质和外形,忽略它的价格。上面说的,软件工程里面的面向对象的思想基本就是这样来的。(这个纯粹我个人的见解,可能不对)
liuruitao647 2014-09-12
  • 打赏
  • 举报
回复
月经帖~~~ 面向对象。。大概和做人一个道理吧。要有个目标。。比如说,当圣人啦。 面向过程,就是你实现目标途中所做的努力。 继承,大概就是你想让别人也学习你认为有用的东西。使自己的学业有所传承。 封装,可以理解为出书。。比如,论语,道德经什么 的给别人看。自己就不用见人就讲解自己的见解了,省时省力。 多态,大概就是说做人不能太死板。就像那句“圣人无常心”。
wenbo228228 2014-09-11
  • 打赏
  • 举报
回复
面向对象里你调用一个对象的函数就是一个具体的过程,面向对象就是一个个过程的集合
绿领巾童鞋 2014-09-10
  • 打赏
  • 举报
回复
道可道,非常道,不是用言语就能悟出来的。
没花鹿 2014-09-09
  • 打赏
  • 举报
回复
引用 119 楼 myloverisu 的回复:
[quote=引用 114 楼 sp1234 的回复:] [quote=引用 112 楼 myloverisu 的回复:] 面向对象可能是命名错误,object-oriented应该直译过来叫物体导向才对。因为面向对象的说法是从人出发来思考物体的关系,而物体导向是从物体出发来思考物件之间的关系。物体导向是一种代码的分类管理的方法,用于控制代码合理的作用域,利用的是成员的相关性分类。面向过程语言分类的方式比较单调,就是#include,全局变量,局部变量,静态局部变量这些东西。物件导向的分类不仅包含了面向过程的分类方式,而且还有类,命名空间,private,public,protected,internal,继承,来灵活控制可见性。我想主要的差别就是作用域控制力的差别吧。
晕!你为面向对象是给 c# 语法而设计的啊?OOA、OOD和OOP的区别又是什么呢?[/quote] 我没有这么说,我认为这个名字翻译错了。如果你觉得我理解不正确,那你试着回答面向对象是什么意思?谁面向对象?是人面向对象,还是对象面向对象?[/quote]Object 总得有个中文名字?---怪怪的--- 因为怎么翻译之都不好弄,直接就叫 O 得了!
myloverisu 2014-09-09
  • 打赏
  • 举报
回复
引用 114 楼 sp1234 的回复:
[quote=引用 112 楼 myloverisu 的回复:] 面向对象可能是命名错误,object-oriented应该直译过来叫物体导向才对。因为面向对象的说法是从人出发来思考物体的关系,而物体导向是从物体出发来思考物件之间的关系。物体导向是一种代码的分类管理的方法,用于控制代码合理的作用域,利用的是成员的相关性分类。面向过程语言分类的方式比较单调,就是#include,全局变量,局部变量,静态局部变量这些东西。物件导向的分类不仅包含了面向过程的分类方式,而且还有类,命名空间,private,public,protected,internal,继承,来灵活控制可见性。我想主要的差别就是作用域控制力的差别吧。
晕!你为面向对象是给 c# 语法而设计的啊?OOA、OOD和OOP的区别又是什么呢?[/quote] 我没有这么说,我认为这个名字翻译错了。如果你觉得我理解不正确,那你试着回答面向对象是什么意思?谁面向对象?是人面向对象,还是对象面向对象?
  • 打赏
  • 举报
回复
我的理解就是:对于你来说,我就是一个对象;对于我来说,你也是一个对象! 你有你的属性:姓名 、年龄、性别等等!我也有我的! 你有你的方法:生活的方法、工作的方法等等!我也有!所以我们是同类!这些都是可以通过代码来模拟和体现的!这就是面向对象
  • 打赏
  • 举报
回复
引用 115 楼 resigner 的回复:
OOP?老掉牙的新问题了 Leader 让你怎么做你就怎么做,直到大牛了为止 等你谶纬 Leader 后,再去考虑这件事 当然,你可以提前了解它,就象了解公司整个生产/管理(包括财务)流程一样,都需要你的观察、体验、学习、经历等,这是成为 Leader 的必经之路(必要但不充分) 没成为 Leader 就不要谈OOP了,甘心做个码农得了
关键是说的东西“连 OOP 都不是”,只知道套用 c# 语言语法上一点说明,更别提参与高级一点的讨论了。 话说,能够在 csdn 讨论的,应该是想提高的码农。不想提高的,直接在家里撸就行了,不用上csdn。
没花鹿 2014-09-07
  • 打赏
  • 举报
回复
谶纬 --》 成为
加载更多回复(105)
第1章课程定位与教学案例综述. 1.1职业岗位能力需求分析 1.2课程设置和课程定位分析 1.3WebShop电子商城介绍 1.3.1电子商城需求分析 1.3.2电子商城系统设计 1.3.3电子商城数据库设计 1.4LibraryMIS图书管理系统介绍 1.4.1图书管理系统需求分析 1.4.2图书管理系统系统设计 1.4.3图书管理系统数据库设计 习题 第2章面向对象技术和建模基础 2.1面向对象方法 2.1.1面向对象方法的基本思想 2.1.2面向对象方法的发展 2.2面向对象的基本概念与特征 2.2.1面向对象的基本概念 2.2.2面向对象的主要特征 2.3面向对象分析 .2.3.1处理复杂问题的原则 2.3.200A方法的基本步骤 2.4面向对象设计 2.5面向对象实现 2.6面向对象方法的内涵 2.7软件建模概述 2.7.1软件建模的概念 2.7.2软件建模的用途 2.7.3软件建模的优点 习题 第3章UML简介 3.1UML的发展 3.1.1UML的发展历程 3.1.2理解UML建模 3.2UML的特点 3.3UML的结构 3.3.1UML的事物 3.3.2UML的关系 3.4UML的视图 3.4.1用例视图 3.4.2逻辑视图 3.4.3并发视图 3.4.4组件视图 3.4.5部署视图 3.5UML图形符号 3.5.1用例图 3.5.2类图 3.5.3对象图 3.5.4状态图 3.5.5活动图 3.5.6顺序图 3.5.7协作图 3.5.8组件图 3.5.9部署图 3.5.10UML 2.0新特性 3.6UML建模基本流程 习题 第4章UML建模工具简介 4.1常用UML建模工具 4.1.1 Rational Rose 4.1.2Enterprise Architect 4.1.3Together 4.1.4PowerDesigner 4.1.5 Visi0 4.1.6Tnffun Plat0 4.2Rational Rose安装与配置 4.2.1Rational Rose的运行环境 4.2.2Rational Rose的安装 4.2.3Rational Rose的配置 4.3使用Rational Rose建模 4.3.1Rational Rose主菜单 4.3.2Rational Rose的视图 4.3.3 Rational Rose建模的基本过程 习题 第5章需求建模 5.1用例模型概述 5.2用例图组成 5.2.1参与者 5.2.2系统 5.2.3用例 5.3识别和描述用例.. 5.3.1识别用例 5.3.2绘制WebShop电子商城用例图 5.3.3通过包对用例进行合理规划 5.3.4WebShop电子商城用例图(不含关系) 5.3.5用例描述 5.4用例间的关系 5.4.1泛化关系 5.4.2使用关系 5.4.3包含关系 5.4.4扩展关系 5.4.5关系小结 5.4.6WebShop电子商城用例图(含关系) 习题 第6章静态建模 6.1静态建模概述 6.2类图概述 6.3类图的基本组成 6.3.1类的概述 6.3.2绘制带属性的实体类 6.3.3绘制带操作的实体类 6.3.4绘制边界类图 6.3.5绘制控制类图 6.3.6UML中的类与语言中的类 6.4类之间的关系 6.4.1关联关系 6.4.2聚合关系 6.4.3组合关系 6.4.4泛化关系 6.4.5实现关系 6.4.6依赖关系 6.5对象图 6.5.1对象图概述 6.5.2对象图组成 6.5.3类图和对象图的比较 习题 第7章数据库建模 7.1PowerDesigner简介 7.2PowerDesigner安装和启动 7.2.1PowerDesigner的安装 7.2.2PowerDesigner的启动 7.3PowerDesigner概念数据模型 7.3.1概念数据模型概述 7.3.2PowerDesigner概念数据模型概述 7.4 PowerDesigner物理数据模型 习题 第8章动态建模 8.1动态建模概述 8.2状态图 8.2.1状态图概述 8.2.2状态图组成 8.2.3绘制员工下班回家状态图 8.3活动图 8.3.1活动图概述 8.3.2活动图组成 8.3.3绘制WebShop电子商城活动图 8.4活动图拾遗 8.4.1活动图与流程图的比较 8.4.2活动图与状态图的比较 8.5顺序图 8.5.1顺序图概述 8.5.2顺序图组成 8.5.3绘制WebShop电子商城顺序图 8.6协作图 8.6.1协作图概述 8.6.2协作图组成 8.6.3绘制WebShop电子商城协作图 8.7 顺序图拾遗 8.7.1 顺序图与协作图的比较 8.7.2 顺序图与协作图的互换 习题 第9章物理建模 9.1物理建模概述 9.1.1硬件 9.1.2软件 9.2组件图 9.2.1组件图概述 9.2.2组件图组成 9.2.3绘制WebShop电子商城组件图 9.3部署图 9.3.1部署图概述 9.3.2部署图组成 9.3.3绘制WebShop电子商城部署图 习题 第10章双向工程 10.1双向工程简介 10.2正向工程(生成Java代码) 10.3逆向工程 习题 第11章统一软件过程RUP 11.1RUP简介 11.2RUPT作流程 11.2.1业务建模 11.2.2需求 11.2.3分析设计 11.2.4实施 11.2.5测试 11.2.6部署 11.2.7配置与变更管理 11.2.8项目管理 11.2.9环境 11.3RUP迭代过程 11.3.1初始 11.3.2细化 11.3.3构造 11.3.4移交 11.3.5迭代计划示例(构造阶段) 习题 附录A综合实训 附录B Rational Rose2003主菜单 参考文献...

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧