V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
money
V2EX  ›  程序员

大一学java,自学的比老师讲的快,因此老师还没讲到面向对象,自己买的java书和课本一起看,但是理解不了面向对象,而且也看不懂书,之前没有计算机编程基础,也不理解面向过程,C语言也没学过,请各位神仙指点指点,小弟感激不敬,谢谢啦!

  •  
  •   money · 2011-11-28 22:09:56 +08:00 · 5991 次点击
    这是一个创建于 4530 天前的主题,其中的信息可能已经有所发展或是发生改变。
    27 条回复    1970-01-01 08:00:00 +08:00
    parano
        1
    parano  
       2011-11-28 22:15:39 +08:00
    标题好长噢
    qianleilei
        2
    qianleilei  
       2011-11-28 22:15:41 +08:00
    实践
    c
        3
    c  
       2011-11-28 22:20:17 +08:00
    要学会oo,先要学会xx,和在一起就是xxoo了。
    Ley
        4
    Ley  
       2011-11-28 22:21:59 +08:00
    一步步踏踏实实地学吧……先学好面向过程再说。
    ultragtx
        5
    ultragtx  
       2011-11-28 22:23:37 +08:00
    以后做做项目慢慢就明白了
    aoyoo
        6
    aoyoo  
       2011-11-28 22:30:57 +08:00
    多写代码~~
    概念什么的一开始不理解很正常吧
    wynemo
        7
    wynemo  
       2011-11-28 22:32:16 +08:00
    一直不知道 原来这里的都是神仙 哈哈
    chloerei
        8
    chloerei  
       2011-11-28 22:42:33 +08:00
    do_something_for(object) 是面向过程
    object.do_something() 是面向对象

    就这样了
    mxfli
        9
    mxfli  
       2011-11-28 22:45:37 +08:00
    《对象健身操》
    hq5261984
        10
    hq5261984  
       2011-11-28 22:51:25 +08:00
    你提出的问题很难用言语来表述出来。搞不懂正常,不影响做hello world!
    WarWithinMe
        11
    WarWithinMe  
       2011-11-28 22:53:37 +08:00
    不知道你的是什么学校。。。Anyway,从我自己的学校来看,可以完全无视老师在课堂上的任何内容,而且不管是C还是C++还是Java还是Ruby还是其他,只要是一门语言的课的话,考试都很容易过的。。

    另外我觉得,没有任何一门语言是需要先学习其他语言的。所以说你觉得如果有C语言的基础,学Java会很迅速,在我看来是一个比较错误的观点。

    不理解面向对象的话,去网上搜索一下。。
    不理解课本的话,首先看一看这个课本是哪里的人写得。。如果是某某中国教师/教授的话,你完全可以无视它。。。那些课本不会说到点子上去的,而且排版感觉很混乱。

    我当初好像就看了Thinking in Java。感觉学习一门编程语言的话,你知道他得语法规则和附带的library就算是入门了。。

    最后一点就是,学习一门技术基本上你有两条路径可以选择。
    第一种就是,学习这门语言本身。刨根究底,弄懂它里面的一丝一毫。但是这样会花很长时间,也许你到最后连个实际运用经验也没有。
    第二种是,学习如何使用这门语言来工作。这样的话,你会很快掌握这门语言,同一时间也有经验。要是有人问你这门语言比较刁钻的问题,你就不能够答得上了。
    NemoAlex
        12
    NemoAlex  
       2011-11-28 23:01:46 +08:00
    学好语言从学好母语开始
    Air_Mu
        13
    Air_Mu  
       2011-11-28 23:12:19 +08:00
    我刚看面向对象也觉得迷惑
    但是根本就不需要纠结在这里

    直接看下去,写几个类,自然就领会了(当然这只是很基础,高级的编程思想还是要慢慢学)
    keakon
        14
    keakon  
       2011-11-28 23:27:31 +08:00
    首先把基本的语法浏览一遍,那些乱七八糟的解释看不懂就跳过,你用到的时候就懂了。千万不要纠结概念,你从这帖的回复也能看出来,没人说得清面向对象是啥,但是大家都会用,这就行了。

    然后找本讲面向对象的设计模式的书,看十几分钟就懂了。
    我当时看的是《设计模式精解》,英文名是《Design Patterns Explained: A New Perspective on Object Oriented Design》。有些内容你可能看不懂,那就跳过吧,看个大意就行了。

    最后,老师说的和书上写的你都不能全信,误人子弟的太多了…多看一些书,特别是国外的,有了整体的印象后你就好判断了。
    那时候再去深入理解之前跳过的地方,不懂就继续跳过。
    再写点简单的程序实现你的想法,你就会在实践中弄懂了。
    blacktulip
        15
    blacktulip  
       2011-11-28 23:35:57 +08:00
    据我可怜的一点点经验,光看书完全没用,需要自己编几个小程序,哪怕是照着书上一行一行敲进去都好。
    pepsin
        16
    pepsin  
       2011-11-28 23:40:14 +08:00
    有本O'reilly 的傻瓜书,<Head First XXXX> , 你去搜下, 讲的很好很浅显

    个人理解面向对象就是叫计算机做事先告诉它有这么一个能做某事的东西, 然后做事时叫这东西做就行了

    拿点入门书,照着书敲码, 每个class 名字和该class 下描述的方法你感受感受, 就明白了
    WarWithinMe
        17
    WarWithinMe  
       2011-11-28 23:45:03 +08:00
    @pepsin Head First系列感觉真的是普及书啊。。买过一本设计模式的,超级厚。。。
    wenhuacn
        18
    wenhuacn  
       2011-11-29 09:27:30 +08:00
    @money 多些代码,慢慢就明白了
    如果非要搞清楚,个人认为学习UML 是好的方式
    lijia18
        19
    lijia18  
       2011-11-29 09:55:04 +08:00
    请学C语言
    ggshiney
        20
    ggshiney  
       2011-11-29 09:55:45 +08:00
    @pepsin 纯入门看Head First,过了入门这道坎就好了。
    bluegobin
        21
    bluegobin  
       2011-11-29 10:23:52 +08:00
    要理解面向对象和面向过程,首先要理解什么是抽象。而面向对象和面向过程就是对于不同类型事务的抽象,面向对象是基于Object这个对象,面向过程是基于行为的抽象。
    pepsin
        22
    pepsin  
       2011-11-29 10:25:37 +08:00 via Android
    @WarWithinMe 恩,就是那本设计模式,里面基本上把面向对象的模式都说干净了
    panlilu
        23
    panlilu  
       2011-11-29 12:53:26 +08:00
    楼上的都是大神。
    我就说一点,你别把它想的太难,别怕就行。
    jean
        24
    jean  
       2011-11-29 13:04:49 +08:00
    概念什么的都是前人实践出来的东西,多写代码就明白怎么回事了。
    darasion
        25
    darasion  
       2011-11-29 13:06:55 +08:00
    面向对象,用不好不如不用。总之,当你觉得你写的东西长时间的很垃圾的时候,猛然间就会发现某种模式恰好就能解决你长久以来的困扰,然后你就入门了。
    L42y
        26
    L42y  
       2011-11-29 13:10:53 +08:00
    @chloerei 这个说得太好懂了。
    huyaohua
        27
    huyaohua  
       2011-12-10 00:48:52 +08:00
    多看几本书,敲完一本敲第二本。敲到第三本就懂了。这里推荐<java编程艺术>,然后,敲项目,看书,敲项目。总之,敲下去,不过,交流很重要,遇到牛人多交流。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1073 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:54 · PVG 02:54 · LAX 11:54 · JFK 14:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.