iOS 开发实用技术导航
NSHipster 中文版
› http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
› http://www.cocos2d-iphone.org/
CocoaPods
› http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
› http://code.google.com/mobile/analytics/
WWDC
› https://developer.apple.com/wwdc/
Design Guides and Resources
› https://developer.apple.com/design/
Transcripts of WWDC sessions
› http://asciiwwdc.com
Cocoa with Love
› http://cocoawithlove.com/
Cocoa Dev Central
› http://cocoadevcentral.com/
NSHipster
› http://nshipster.com/
Style Guides
› Google Objective-C Style Guide
› NYTimes Objective-C Style Guide
Useful Tools and Services
› Charles Web Debugging Proxy
› Smore
Elizen
V2EX  ›  iDev

刚接触编程,开始看Object-C,想问一下,究竟怎么深入理解面向对象?

  •  
  •   Elizen · Jan 12, 2014 · 6933 views
    This topic created in 4686 days ago, the information mentioned may be changed or developed.
    46 replies  •  1970-01-01 08:00:00 +08:00
    MASAILA
    MASAILA
    Jan 12, 2014
    1
    多写代码
    mingming
    mingming
    Jan 12, 2014
    2
    找个妹子当对象,每天面对着她,慢慢就理解了。
    FrankFang128
    FrankFang128
    Jan 12, 2014 via Android
    3
    我已放弃面向对象了,那其实是面向类,而不是对象。
    OC不了解。
    faceair
    faceair
    Jan 12, 2014
    4
    对象就是一堆数据和方法的集合

    有时候对象之间的代码要复用,又引入继承概念

    有时候各种对象要组合着用,为了理清各种关系就引入设计模式概念
    MichaelYin
    MichaelYin
    Jan 12, 2014❤️2
    5
    把妹子从接触到“深入”都要一定过程,何况编程乎~
    沉住气,慢慢来,骚年~
    Ultratude
    Ultratude
    Jan 12, 2014 via iPhone
    6
    多聊聊。
    ipconfiger
    ipconfiger
    Jan 12, 2014❤️1
    7
    唯一的忠告就是-----千万不要去看王垠的博客........
    txx
    txx
    Jan 12, 2014 via iPhone
    8
    多去思考,以对象为主体来刻画他的属性,方法。
    bengol
    bengol
    Jan 12, 2014
    9
    好好写代码,学习数据结构和算法吧,别搞这些没用的
    subpo
    subpo
    Jan 12, 2014 via Android
    10
    先把语言名字拼对
    Seita
    Seita
    Jan 12, 2014
    11
    面向对象不过是装逼的说法。
    Kai
    Kai
    Jan 12, 2014
    12
    参考这个节点右侧的链接,多写多练习 :)
    min
    min
    Jan 12, 2014
    13
    head first有本说ooad的书,lz买来看看
    levn
    levn
    Jan 12, 2014
    14
    学习simula和smalltalk……
    PrideChung
    PrideChung
    Jan 12, 2014
    15
    @ipconfiger 别捣乱,你不说人家还未必知道王垠是谁。

    编程这种东西,无他,但手熟尔,纸上谈兵是学不会的。当你把一千行代码写在一个文件里面的时候,你就会开始考虑怎样提高代码可读性了。记得当年在大学学Java,老师给了一大堆猫猫狗狗的例子来说明什么是继承接口抽象,一个都没明白,直到自己开始动手做期末大作业的时候才真正搞清楚了。
    pirex
    pirex
    Jan 12, 2014
    16
    找个对象
    chchwy
    chchwy
    Jan 12, 2014
    17
    先多寫代碼,然後有一些經驗後去讀 Head first design pattern。
    young
    young
    Jan 12, 2014
    18
    Object-C的OO,只能呵呵了
    erylee
    erylee
    Jan 12, 2014
    19
    能不面向就不要面向,想怎么写就怎么写。做爱时候可以“面向对象”,编程是没必要的,OO整套理论都是很荒谬的。
    dorentus
    dorentus
    Jan 12, 2014
    20
    @young
    有什么好呵呵的。就因为和它是源自 smalltalk、和 C++ 的源自 simula 的不一样么?

    ----
    楼主要是有兴趣的话,可以去读一下《Ruby 元编程》,反正 Ruby 的 object system 和 Obj-C 出自同源的。
    vob636
    vob636
    Jan 12, 2014
    21
    首先你要明白,什么才能算是对象,什么是过程……
    ipconfiger
    ipconfiger
    Jan 12, 2014
    22
    @PrideChung 只顾埋头赶路不顾抬头看路标的话,很多时候是花了很多时间绕路。

    看看王垠没啥坏处,呵呵。对象式或者函数式什么的,别钻牛角尖,都看看都了解一下,多学多用学以致用嘛
    myrual
    myrual
    Jan 12, 2014
    23
    刚接触编程的时候还是把东西做出来对于成长很有意义。
    所以选一个脚本语言其实很好的,比如ruby。
    如果要做native 客户端,oc也算是不错的选择了,ide,debug都很方便。

    刚学会游泳的人,应该关心的是如何能够游的更远。而不是姿势是不是达到了省冠军的水平。
    myoula
    myoula
    Jan 12, 2014
    24
    太深入会没有对象的
    Elizen
    Elizen
    OP
    Jan 12, 2014
    25
    @FrankFang128 我看了一段书,觉得他说的意思也是针对类而言,而且再说,对象就是类的一个特殊实例,总之有点蒙。
    Elizen
    Elizen
    OP
    Jan 12, 2014
    26
    @MichaelYin 恩,现在还在看,谢谢。
    luoqeng
    luoqeng
    Jan 12, 2014
    27
    自己去实现一个面向对象系统,先用schmem,然后再试试用C去实现。
    FrankFang128
    FrankFang128
    Jan 12, 2014
    28
    @Elizen 面向对象(其实是面向类)是极其抽象的概念,抽象到什么程度呢?面向对象的思想可以描述整个世界。所谓「一切皆为对象」。
    所以你要做的就是具体化,具体化的意思就是在写代码中体会。
    nsa
    nsa
    Jan 13, 2014
    29
    Objective-C Overview -> Concept -> Conception -> Essentials -> MemoryMgmt
    dorentus
    dorentus
    Jan 13, 2014 via iPad
    30
    @FrankFang128 如果我没理解错的话,Objective-C 更符合你说的面向对象而不是类似 C++ 那种面向类的形式。
    dorentus
    dorentus
    Jan 13, 2014 via iPad
    31
    @dorentus 类本身也是对象。(Simula 系的 C++ 在这点上就完全不同。)
    Elizen
    Elizen
    OP
    Jan 13, 2014
    32
    @FrankFang128 这句我懂点....接着看书吧,这周先把书啃一遍,然后拿个项目练手,可能会理解的深一点吧。
    Elizen
    Elizen
    OP
    Jan 13, 2014
    33
    @PrideChung 我还真的不知道他是谁,不过看你们的意思,我就不打算去搜了。
    Elizen
    Elizen
    OP
    Jan 13, 2014
    34
    @dorentus Sorry,没研究过C++,所以对区别什么没感觉,我觉得可能是个好事吧...
    Elizen
    Elizen
    OP
    Jan 13, 2014
    35
    @myrual 还有人和我说学学python的,但是没有什么项目想法...也不了解...
    myrual
    myrual
    Jan 13, 2014
    36
    @Elizen 我也曾经推荐别人学习python,但是我现在推荐从ruby开始。
    尤其是用rails开始,会很有成就感。 推荐照着agile-web-development-with-rails-4开始。
    另外国内的ruby社区对初学者很友好。相比之下python社区对新手没那么友善。

    python也很适合初学者,但是没有rails这样的完整而且优秀框架能快速的让人上手做一些非常明显的东西。如果你要解决一些实际的工程上的问题,python确实有很多非常优秀的工具可以拿来用(个人感觉可能比ruby多)。
    zhc
    zhc
    Jan 13, 2014
    37
    编码过程中要怀着追求最完美代码的心,当感觉自己代码不爽的时候搜寻思考让它变得优美得方式,慢慢的你会发现你已经慢慢学会了面向对象,和许多其他优秀的编程方式.
    Actrace
    Actrace
    Jan 13, 2014
    38
    孩子,刚接触编程是无法找到对象的,更别提深入了解对象了.先把基本功练好,写个十年八年,在去找对象理解吧.
    archieyang
    archieyang
    Jan 13, 2014
    39
    推荐两本书:《Head first 设计模式》和《重构》
    wizardoz
    wizardoz
    Jan 13, 2014
    40
    你必须知道什么叫做面向过程,你才能理解什么叫面向对象
    Elizen
    Elizen
    OP
    Jan 13, 2014
    41
    @wizardoz 看来我目前这个状态,不应该提这个问题啊...恐怕只会让我填好多烦恼...
    Elizen
    Elizen
    OP
    Jan 13, 2014
    42
    @zhc 我只是想学学编程,就准备拿IOS开刀,做个应用,看了两天书,总在形容面向对象这个东东,我就不理解了...写个十年八年的前提是,我去做程序员,虽然我也蛮想去做一个程序员。
    Elizen
    Elizen
    OP
    Jan 13, 2014
    43
    @MichaelYin 我觉得这个回复,我必须要感谢一下。
    feuvan
    feuvan
    Jan 13, 2014
    44
    你可以先开始写你想要写的 iOS 项目,当你的代码有一定量的时候你会去自然而然的考虑怎么让代码有组织,组件怎么有效交互,怎么设计精简而足够用的接口。
    至于OO,那是前人经过时间总结出来的,虽然大家一上来就学一些面向对象的课程,但总的来说学生时代大多是知其然不知其所以然。
    学而不思则罔,先写点代码吧。理解面向对象将会是自然而然的事情,就像猫吃鱼狗吃肉奥特曼打小怪兽。至于什么设计模式,将来你看了书自然也就明白你过去写的代码其实就是什么模式,只不过别人把它总结出来成为一套理论。
    Elizen
    Elizen
    OP
    Jan 13, 2014
    45
    @feuvan 没错,开始写可能比什么都重要。
    Hector01
    Hector01
    Jan 14, 2014 via iPad
    46
    刚开始接触编程是不可能深入理解面向对象的,所以就不要思考这个问题了,先写点东西吧。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2291 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 12:43 · PVG 20:43 · LAX 04:43 · JFK 07:43
    ♥ Do have faith in what you're doing.