• 请不要在回答技术问题时复制粘贴 AI 生成的内容
money
V2EX  ›  程序员

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

  •  
  •   money · Nov 28, 2011 · 7716 views
    This topic created in 5453 days ago, the information mentioned may be changed or developed.
    27 replies  •  1970-01-01 08:00:00 +08:00
    parano
    parano
    Nov 28, 2011
    1
    标题好长噢
    qianleilei
    qianleilei
    Nov 28, 2011
    2
    实践
    c
    c
    Nov 28, 2011
    3
    要学会oo,先要学会xx,和在一起就是xxoo了。
    Ley
    Ley
    Nov 28, 2011
    4
    一步步踏踏实实地学吧……先学好面向过程再说。
    ultragtx
    ultragtx
    Nov 28, 2011
    5
    以后做做项目慢慢就明白了
    aoyoo
    aoyoo
    Nov 28, 2011
    6
    多写代码~~
    概念什么的一开始不理解很正常吧
    wynemo
    wynemo
    Nov 28, 2011
    7
    一直不知道 原来这里的都是神仙 哈哈
    chloerei
    chloerei
    Nov 28, 2011
    8
    do_something_for(object) 是面向过程
    object.do_something() 是面向对象

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

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

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

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

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

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

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

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

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

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