当前位置:编程学习 > C#/ASP.NET >>

面向对象思想

如何用面向对象的思想来变写程序? 使用面向对象编程有什么好处? 具体点 --------------------编程问答-------------------- google your self --------------------编程问答-------------------- 面向对象不能吃不能喝,没有一毛好处。还是当公务员有好处,有好吃的,有美女可以日。 --------------------编程问答-------------------- 楼主现在的阶段不用关心这个 不影响你写程序。
PS:楼上的有才. --------------------编程问答-------------------- 个人认为那个东西不是想有就能有的,只有在以后的工作中慢慢领悟的 --------------------编程问答-------------------- c 又不是禅, 有什么好捂的

推荐一本书
重构 Martin Fowler 写的。
是用代码例子,给你讲oo什么好处。十几个例子看下来,就大致明白了 --------------------编程问答--------------------
先了解面向对象的特性,然后使用特性,自然就面向对象了
但是使用是为了解决问题,而不是故意使用。
否则还不过过程式编程 --------------------编程问答-------------------- --------------------编程问答-------------------- 当你不知道OOP的好处时,就是你不用OOP的最好理由 --------------------编程问答-------------------- OOP
比如插入一个学生对象 user
学生熟悉有age sex name
java中的SSH模式直接save(user对象)就插入到db中了
如果不用对象那么就要insert into……如果一个表有20个列非常不方便
如果用insert into……加构造函数new一个对象插入最终还是要对象点.属性名来访问对象的属性 也不好
asp.net的mvc模式就是面向对象的方式的 可以插入对象
有什么好处?
get set中的set方法可以验证传入的值是否合法,不过这个一般在前台就已经处理了
--------------------编程问答-------------------- 面向对象没用的,还不如面向苍老师~ --------------------编程问答-------------------- 面向对象 通俗点说其实就是建个模型而已 --------------------编程问答-------------------- 建议先去看看面向对象的基础书 --------------------编程问答-------------------- 面向对象 就是 面向女友  --------------------编程问答-------------------- 面向对象就是偷懒! --------------------编程问答-------------------- 面向对象就是把问题抽象化之后,然后再去解决问题,在编程中不用刻意的去想 --------------------编程问答-------------------- 面向对象就是把问题抽象化之后,然后再去解决问题,在编程中不用刻意的去想 --------------------编程问答-------------------- 面向对象就是把问题抽象化之后,然后再去解决问题,在编程中不用刻意的去想 --------------------编程问答-------------------- 这,只能说实践出真知 --------------------编程问答-------------------- --------------------编程问答-------------------- 面向对象就是在编程过程中将一个处理模型看成一个对象,而且这个对象有很多属性,你在处理这个模型的时候直接操作这个对象及其属性即可,面向对象思想的编程方式很简单,只要你做些项目了,用心体会了,就知道了它的妙用了,我只是根据的经验浅谈下! --------------------编程问答--------------------
引用 2 楼 beijingyanqing88 的回复:
面向对象不能吃不能喝,没有一毛好处。还是当公务员有好处,有好吃的,有美女可以日。


也不是。自己单位的可以追求,外单位的可要小心。 --------------------编程问答--------------------
引用 楼主 L1747695813 的回复:
如何用面向对象的思想来变写程序? 使用面向对象编程有什么好处? 具体点


跟你目前无法谈具体问题。

告诉你一个基本常识——整个软件工程的具体内容都要重写——这就是面向对象的作用。 --------------------编程问答-------------------- 面向对象是上个世纪80~90年代的事情了。如果你以为是最近几年的,那么你Out了。自从90年代后期,面向对象系统分析和设计技术早已经成熟,甚至发展了多个阶段,有多种分支。例如注重UML的那种、注重极限编程的那种、等等,没有哪一个是纠结于结构化编程的,而都是基于接口、扩展、多态、面向对象这类概念的。这就好像现在人们说“吃饺子”都是基于现在的做法,不再是混合了棒子面的饺子皮里边包上豆腐渣那种30年前的饺子了。 --------------------编程问答--------------------
引用 楼主 L1747695813 的回复:
如何用面向对象的思想来变写程序? 使用面向对象编程有什么好处? 具体点

你面相着你的对象编程能有什么好处?除了她一顿牢骚外还有什么?
--------------------编程问答-------------------- --------------------编程问答-------------------- 根本还是在于更接近问题领域,从DOMIAN思考,更好的做出可用的东西
还有就是封装变化,这个是最大优势 --------------------编程问答-------------------- 面向对象我决定是就是在复杂的代码中可以让自己保持清醒 不至于翻看文档。还有就是可以大量节约代码。

不过要看你的项目大小 如果小程序 没必要,构造一个类 的时间可能就实现了功能。

要是项目比较复杂还是推荐使用面向对象开发思想。时刻为您的接班人着想 写出别人能理解的代码是对工作负责的态度、 --------------------编程问答-------------------- 对象的本质就是描述你头脑里这个东西到底是啥子,类似写说明文,典型的例子就是“这是一只鸟,白色的羽毛,黑黑爪子,嘴上叼着一条鱼”

而过程则是如何数字化的表现他,类似解数学题,典型的例子是:我有一些离散点,你给个公式告诉我他们的分布概率

所以想理解他的区别,你可以看一个蛋疼的例子。菲波拉契数列,用过程的解法就是数学,用对象解那就不管啥数学了,哪怕是个数学白痴,只要语文过关都能把他描述出来---当然用对象描述菲波拉契完全是个蛋疼无比的活

至于你问有啥好处?从上面的例子就可以知道,对象可以简化你的模型,只要你描述的出来就写的出来,并且人脑的抽象有时候还优于数学的抽象,当然每个人的看世界的方式不同,所以描述出来的对象也不一样,就像老p说滴这20年为了统一描述,统一方法也搞了不少东西,但是最终也没能搞出啥特别优秀可以一统天下的玩意,所以如今的对象可以是五花八门,看个人本事了。

ps:上面那个例子用对象来做就是个失败的搞法,虽然你可以简单的描述,但是这个对象化的代码,估计只要有点的数学概念的人来看就只能蛋疼+无语了 --------------------编程问答-------------------- 这东西,只能自己悟,在实践中慢慢摸索。
我现在的理解是,oo更符合现实世界的一些逻辑,能帮你更容易的理解代码的结构和功能。
比如象棋游戏中的棋子,就是基类对象,它自己有一些属性比如所在位置(可继承自棋子基类),走法规则(自身独有),同时还有一些功能,比如移动,吃子,被吃,将军(功能,用接口实现)。
这是比较简单的抽象,还有更虚一点的,比如销售这个过程也可以抽象,销售了那些商品,价格,日期,销售给谁。 --------------------编程问答-------------------- 简单举一个例子:假设你的项目中有一个“企业”类,它包含有多个部门。如果这个企业类有好几个类似
public void 让部门里边打成一片(department dept)
{
     .....
}
这种代码,那么可能这就是非常越俎代庖的了。因为这个工作时部门的职责,应该在department内拥有“让我们打成一片”这个方法并且实现在这里,而不是在企业类里去实现。

首先,由于设计时已经职责分开,可以进行很好的封装和合理的模块式分包(分给远隔千山万水的不同人)开发。然后,考虑查找、多态的需求,从而可以进行分层逐步迭代式开发。 --------------------编程问答-------------------- 学会抽象,归纳,总结,再复用,自然就是OO了。
OO,一种方法论,不仅仅是软件开发特有的东西。
--------------------编程问答-------------------- 当你以这样简单的概念为出发点入手,你会发现消去了张冠李戴的职责,你也就敢于消去一大堆无聊的对象之间通讯机制,因为很多东西都在合适的职责拥有者内部消化掉了,仅仅对外做最必要的通讯。

--------------------编程问答--------------------
引用 2 楼 beijingyanqing88 的回复:
面向对象不能吃不能喝,没有一毛好处。还是当公务员有好处,有好吃的,有美女可以日。
--------------------编程问答-------------------- 问这些傻B的问题干嘛,用了就对了,在项目开发时候,多使用接口,封装,继承,多态,用多了自然就知道现象对象的好处了,自己去体味就OK了,别的不用管,不要纠结这2B的问题,别再搞笑一笔,行吗? --------------------编程问答-------------------- 面象对象思想流行了将近20年了,如果任何一个假的、八股的、抄袭早期Petshop的简单编程习惯都打着面向对象的旗号。其实它仍然不能提高你的程序设计能力,只不过让你从20年前的大学课本的教条里边转到15年前的教条里边(因为你的老师恰好就是学15年前的那种教条的,而不是10年的极限编程技术的)。因此我可以说,满口概念名词儿未必能更多一点软件设计技术,我们还是要凭着实际设计“是否能出来东西”才能知道知识的差别。 --------------------编程问答-------------------- 没有半毛钱的好处,坏处大大的有! --------------------编程问答--------------------
引用 23 楼 sp1234 的回复:
面向对象是上个世纪80~90年代的事情了。如果你以为是最近几年的,那么你Out了。自从90年代后期,面向对象系统分析和设计技术早已经成熟,甚至发展了多个阶段,有多种分支。例如注重UML的那种、注重极限编程的那种、等等,没有哪一个是纠结于结构化编程的,而都是基于接口、扩展、多态、面向对象这类概念的。这就好像现在人们说“吃饺子”都是基于现在的做法,不再是混合了棒子面的饺子皮里边包上豆腐渣那种30年前的饺子了。

+1 --------------------编程问答-------------------- 代码写多自然会 --------------------编程问答-------------------- 楼主先多看看书吧,随便那个有关的书籍 --------------------编程问答-------------------- 楼主先多看看书吧,随便那个有关的书籍 --------------------编程问答-------------------- 世界有对象组成,对象的组合成为世界。

面向对象的哲学是大事化小,小事化了。核心是把领域问题 化繁为简。 --------------------编程问答-------------------- 封装 继承 多态。。。。主要是可维护和可扩展性。。。 --------------------编程问答-------------------- 就是把之前学的东西看成整体,面向对象就是吧整体拆成零件,在进行组装。实现多态 --------------------编程问答-------------------- 先不用管,先写你的程序,发现你的程序乱糟糟的时候再去看这些知识。你会恍然大悟,相见恨晚的。 --------------------编程问答--------------------
引用 2 楼 beijingyanqing88 的回复:
面向对象不能吃不能喝,没有一毛好处。还是当公务员有好处,有好吃的,有美女可以日。

哈哈,话丑理正 --------------------编程问答--------------------
引用 41 楼 timesloft 的回复:
世界有对象组成,对象的组合成为世界。

面向对象的哲学是大事化小,小事化了。核心是把领域问题 化繁为简。


这里丝毫也没有包含面向对象系统分析和设计的概念。

不是弄出“对象”这个词儿的人都知道什么是面向对象。一定要看做什么、如何做的,这样可以及时发现标题党的存在。 --------------------编程问答-------------------- 大话设计模式 去看看。。 面向对象编程 说白了 就是 对 类继承  interface 抽象类 的 变化运用  --------------------编程问答-------------------- 这个。。。。。。。。

你不用理会有什么好处,多做就知道了。

世间万物都可以看成一个对象,再抽象成实际的程序里的东西的话,体现它的就是一个类。。

比如说我们在程序里想构造一个人。一般人有什么呢?名字,性别,年龄。。这他就是一个人了。。

不然你怎么在你的代码里定义一个人呢?



就像接口一样,要是没有接口,我们的充电器是不是要跟插口融成一体了?

要是没有接口,我们的键盘和主板是不是要融成一体了?键盘坏了,可能影响到主板的工作,要换键盘还要拿去主板的生产商那要它帮你换



实际上没有面向对象,或面向接口,我们一样能敲代码,写程序,但这些东西的出现,大大的简化或抽象了我们的工作,使得代码更易读,更好扩展 --------------------编程问答-------------------- 对象不就是女朋友吗??面向对象就是让你面向你女朋友 --------------------编程问答-------------------- 面向对象是一种建模技术,这种模型可以使用某个领域的术语,以自然的方式来反映该领
域(例如商业领域或机械领域)。
正确创建的面向对象模型应易于沟通、修改、扩展、确认和验证。
使用面向对象技术正确创建的系统应能够灵活地修改,具有意义明确的结构,并且提供创
建和实现可重用组件的机会。
lz有时间可以看看这个资源库:http://net.itcast.cn/net/video.shtml --------------------编程问答-------------------- 这里面都成菜鸟乐园了。。。一些常识性问题都过来问。。自己不动脑经
补充:.NET技术 ,  分析与设计
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,