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

2014-01-12 13:12:55 +08:00
 Elizen
5626 次点击
所在节点    iDev
46 条回复
vob636
2014-01-12 18:51:05 +08:00
首先你要明白,什么才能算是对象,什么是过程……
ipconfiger
2014-01-12 19:06:58 +08:00
@PrideChung 只顾埋头赶路不顾抬头看路标的话,很多时候是花了很多时间绕路。

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

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

python也很适合初学者,但是没有rails这样的完整而且优秀框架能快速的让人上手做一些非常明显的东西。如果你要解决一些实际的工程上的问题,python确实有很多非常优秀的工具可以拿来用(个人感觉可能比ruby多)。
zhc
2014-01-13 12:23:05 +08:00
编码过程中要怀着追求最完美代码的心,当感觉自己代码不爽的时候搜寻思考让它变得优美得方式,慢慢的你会发现你已经慢慢学会了面向对象,和许多其他优秀的编程方式.
Actrace
2014-01-13 12:50:41 +08:00
孩子,刚接触编程是无法找到对象的,更别提深入了解对象了.先把基本功练好,写个十年八年,在去找对象理解吧.
archieyang
2014-01-13 13:00:18 +08:00
推荐两本书:《Head first 设计模式》和《重构》
wizardoz
2014-01-13 13:03:12 +08:00
你必须知道什么叫做面向过程,你才能理解什么叫面向对象

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/96666

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX