什么是面向对象, 如何理解面向对象???

解决方案 »

  1.   

    打个比方吧:
    音乐来说,  Nobody、我不介意你恨我(像这种歌曲名字)就可以理解为对象。而音乐呢是一个统称 理解为 类
      

  2.   

    “对象”是由Object翻译而来,个人觉得这个翻译并不传神,容易误导初学者。理解成"实体,实例"更明白一些。
      

  3.   

    完全错误...实体Entity、实例Instance和对象Object是完全不同的三个概念...看来你是被误导的还打算误导别人...建议初学者先去学点生物分类学的知识,有助于理解面向对象...
      

  4.   


    那么这个定义:Student xiaoMing = new Student();如果我说 xiaoMing 是 Student的一个 instance正确否?
    如果我说 xiaoMing 是 Student的一个 object正确否?
    如果我说 Student 是 Entity 正确否?
    如果我说 Student 是 Class 正确否?如果正确的话,你说 “实例Instance和对象Object是完全不同的概念”,你是怎么理解的?(Entity是不同的概念,我没提Entity)
      

  5.   

    讨论的是翻译上的误差。object在英文是"物体,实体"的意思,怎么成了”对象“,”对象“这个词在中文里太抽象了,让人摸不着。如:Student xiaoMing = new Student(); 可以说实例化学生类小明;这个有点知识的人都能明白--小明是学生的实例。 如果说建一个学生类的对象小明,请问小明是学生的对象如何理解?打击对象?搞对象?是什么对象?
      

  6.   

    kangde...康德?呵呵...如果你已经是程序员大概已经小有成就了,如果还是新人相信你将来会超越这里的大多数人...哲学对程序员的帮助是非常大的,应该说对所有职业都很有帮助...
      

  7.   

    这个问题不要在文字上争论了, 好不?形而上者谓之道, 形而下者谓之器.纵使在哲学层次, 也没有哪个优于哪个, 哲学的本质在于一个过程, 思维的过程, 探讨的过程,
    而不是某某哲学家的言论,结论.人类的一切活动都是可以在概念上进行抽提的, 
    对于 OO, 关键不在程序上, 这是真的,
    不信可以看看 Booch 的书, 作者费了好大篇幅将分类学.
      

  8.   

    恩,要得。语文,哲学,数学,兵法、经济学,博弈论---------不妨都可以看看。
    语文:主、谓、宾、定、状、补-------------好像每次做需求分析的时候,我都觉着自己是在做语文题目。谁是主语??他要操作谁??怎么操作??有没有限制???
    哲学:恩 抽象再抽象---------这不是哲学家门的事情??比较佩服“胡塞尔”,连“烦”这种存意识的东西,都能有一个完整的定义,“抽象”,太“抽象”了,不过老胡同志的另一句话到还成,具有实际意义-------“回到事情的本身处”数学:没有数学就没有计算机,数学一定要学。经济学:经济学是个数字统计打交道滴,程序员也多数是和数字统计打交道滴,为啥不学呢? 何况我们还要炒股呢??(嘿嘿,我认识的大多数成功的程序员都炒股,而且都是高手)兵法:战场瞬息万变,讲的就是变化和应对。俺们程序员也有对手:需求变化,“臭味”,bug------他们是敌人,我要打败他---战略、战术一样少不了博弈论:你的决定不重要,重要的是大家的决定。事情都是交互影响滴,所以程序员千万别“闭门造车”,要学会了解“大家”的决定
      

  9.   

    其实这样切磋过招的已然不凡, 没有谁对谁错, 我们享受的是这个过程.搞编程的好处就是不需要买昂贵的生产原料, 只要有台机器, 就可以任由思维放荡, 无拘无束.没有做不到, 只有想不到, 在程序设计上体现的更加生龙活虎.静下来, 想一想, 事物真的没有多大区别.
    上面说起 原版书, 非常同意, 国内著书界, 包括译书的, 真是糟糕透了.希望 Richard Stevens 那样的在国内多多出现.
      

  10.   

    类相当于人类
    对象相当于具体某个人 ,如 胡景涛
    面向对象 有封装 继承 多态 几个特征
    封装 ;把代码写在一个类里  需要时候 调用哪个即可 提高安全性
    继承  实现代码重用性
    多态 方法名字先攻 但是 参数个数或类型不同  实现不同功能
    如INT A(STRING B)   INT A(STRING B,STRING C)
      

  11.   

    实际这个题目真的很难讲清楚
    只能用“大道自然,大道至简”“道可道非常道”来表述
    就我看来“凡物皆对象”就成,一个int是对象,一个string是对象,一个方法也是对象,一个算法也是对象--------------------没有啥不是对象滴
    这个里面只有“好对象”和“坏对象”的区别,就像“好人”和“坏人”的区别一样,“好人”有一个通常标准的定义(当然事无绝对。好人未必好,坏人也未必坏,只是一个通常的定义),那么“好对象”基本也有一个通常的标准,实际一般的对象书里面讲的那些原则,手段就是教给你啥是“好对象”而已
    so,我给的建议就是:不要纠缠“对象”了,只要知道啥是“好对象”就成
      

  12.   

    没有量,何来质?当今不少程序员对于技术细节要不就是茫然不知,要不就是旁门左道,程序员职业被定义成“青春饭”,何知达到手中无剑心中有剑的境界岂是三年五载之功?就拿.NET这种所谓”傻瓜“框架,又有几人能做精?在技术层面,不熟知细节,何谈指点江山?当今有几个架构师写的系统框架能够将程序员将要实现的代码紧扣在框架之内,实现可维护性和扩展性?没有十年的细节磨练,能成合格的架构师?对于初学者以至于一部分程序员,现在所缺乏的就是对细节一丝不苟的研究。很多在CSDN上的问题,一看就是连最基本的入门书都没有读过,但却从事的开发,是”程序员“。现在到企业招人要找专家,软件工程师,测试工程师,架构师,吓倒一批人; 而来了一批专家,软件工程师,测试工程师,架构师,失望一批人。企业不知道自己要找什么样的人; 一些人不知自已是什么样的人。岂知“家,师”是乱叫的,自封的?是的,被叫乱了。还是国外简单: seeking for developer, senior developer, x year experience in xxxx. 一下就知道自己的定位。这现象说明啥?跑题胡说一通,纯属个人观点,自勉。
      

  13.   

    .net 较容易迷失方向.vs , C#, .net 这些东西搞混的很多见.
      

  14.   

    简单明了的回答。
    人是一个类。学生,教师,音乐家。这都是一都是一个类。不过他们可以都属于人这个类。而对象则是指一个实体。是独一无二的。
    比如。张三,这就是一个对象,一个独一无二的东西。也许你会说世界上不可能只有一个人叫张三,但是。张三有他特定的属性,比如身份证号。
    public class Person {  //定义了 一个Person类
      in id;
      string name;         //定义其成员变量。保证他的唯一性。
    }
    Person p = new Person();  //实例化一个对象P
    Do you understand?
      

  15.   

    对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。关于对象要从两方面理解:一方面指系统所要处理的现实世界中的对象;另一方面对象是计算机不直接处理的对象,而是处理相应的计算机表示,这种计算机表示也称为对象。简单的来说,一个人就是一个对象,一个尺子也可以说是个对象。当这些对象可以用数据直接表示时,我们就称他为属性,尺子的度量单位可以是厘米,公尺或英尺,这个度量单位就是尺子的属性。
      

  16.   


    呵呵,很正常!一知半解就对了,最好是啥不用知道。这个问题,实际根本无解,就像哲学家最感兴趣一个一个命题“who am I”-------我是谁,谁又是我,没有一个哲学家能回答,但并不妨碍哲学家们去讨论“to be or not to be”,生存或死亡,存在或不存在
    我是谁并不重要,重要的是我们活着,我们存在,我们会思考,我们能解决问题--------
    啥是对象也并不重要,总结出对象的概念是哲学家干的事情,而不是我们。
    我们是程序员,我们知道啥是“好的对象”,啥是“坏的对象”就成了,我们要做的事情就是“面对好的对象编程,而不是面对一个散发着臭气的坏对象去编程”就可以了
      

  17.   

    都整那么多废话啥用,通俗点讲吧,就是在实际写代码时候,遵循封装,继承,多态,数据库建立的表是可以MAP成类的,然后写方法时候(sava,delete,update...)传递的是这个类对象,继承多态体现在使用接口,抽象类,虚方法.....
      

  18.   

    还是用“现象学”做结吧按现象学:对象:是现实世界在我们头脑中的意识映射
    面对对象编程:按照现实世界在我们头脑中的意识映射的原型编程就像ls说的,人物:在我们头脑中的意识映射有身高,都性别,有年龄,有头发的颜色,等等,有会走,会跑,会跳等等动作方法,我要做的就是反映现实世界的那个人在你头脑的东西
    so:看的出来,即使我已这么清楚地话来表达,对象和面对对象编程,对你也没有啥帮助所以上面一直说 不要管啥是对象了,对象理解的再清楚,如果你头脑的是坏的对象,那么你实际编程中用坏的对象去编写,那么带来的麻烦也不会比你不对象要少多少。
    so:我们真正要做的事情是分清楚啥是“好的对象”,啥是“坏的对象”就成了,这才是OO程序员要做的事情ps:lz结贴把,在讨论下去就没啥意义了