A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Micro 于 2015-3-18 10:39 编辑

最近好多新人反映黑马币难赚。so....论坛活动第二期上线啦!!!!

本期话题:说说你对面向对象的理解。  可举例说明..

活动规则:10字以上,禁止复制粘贴,网上百度等答案不允奖励。根据用情深浅奖励不同程度的技术分黑马币




----------------------------------------------------------------------华丽的分割线------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
顺便再次提醒一下新人常见的困惑:
关于签到:
这个是完全没有依据的说法。所谓的签到就是登陆一次网页客户端然后系统会自动奖励你2个黑马币这样。而不是到技术交流区发一些签到的大水帖!!虽然发帖是分奖励2黑马币。但水帖,是会被我删除的哦。删除后黑马币会减少。请所有马友自重,自觉维护好社区环境。
版主在此提醒各位获得技术分没有捷径可以走。
技术分从何而来:
可以直接到论坛主板块中进行转换,6黑马币向等于1技术分。
如何获得黑马币:
1.水帖(水贴请到吹水圣地版块)吹水圣地的H币是可以直接换黑马币的。1H币等1黑马币。
2.回帖。回复别人的帖子也是能有黑马币奖励的,一次回复+1黑马币。
3.发贴。一次发帖得2个黑马币,另外我还会对用心的会员进行额外奖励直接奖励技术分
4.参加活动。活动不定期举办,参加可获黑马币。
   建议所有同学发帖加上主题分类,这也是考核奖励的标准。
有些人说哪有这么问题可以用来发帖的话,这个完全靠你自己的发倔。写一些感想也行啊,比如你想了挺久的一个问题,让你解决了。那你就可以发到帖子上让大家来学习学习。或者互相鼓励鼓励。还可以贴代码的哦。但是别忘了解释、、为获得技术分。行动起来吧。



319 个回复

倒序浏览
不想拿着微薄的工资,天天混日子。想到黑马学些技术,找工作好有底气

点评

这个同学回答的是原先的问题。后活动改了技术问题。  发表于 2015-3-18 10:44

评分

参与人数 1黑马币 +3 收起 理由
Micro + 3 很给力!

查看全部评分

回复 使用道具 举报 1 1
kim55666 发表于 2015-3-17 17:22
不想拿着微薄的工资,天天混日子。想到黑马学些技术,找工作好有底气

这个,刚换了一个技术话题。但你还是积极的。值得奖励
回复 使用道具 举报
活动今日上线,限时一周。同学们积极参加吧!
回复 使用道具 举报

回帖奖励 +2

本帖最后由 大白菜cabbage 于 2015-3-18 11:23 编辑

首先面向对象具有三大基本特征,也就是:封装,继承和多态.
其次面向对象是一种编程思想,并不是说有了上面的三大特性就一定是面向对象了.

举一个最简单的例子,我们要创建一个正方形,面向过程的思想肯定是定义边长,最后得出面积.也就是这个对象本来不存在,被我们创建出来了.

用面向对象的思想思考的话,正方形属于矩形,那么我们需要创建一个矩形的类,然后传入这个矩形的长和宽,最后得出面积.

以后我们需要正方形也好,长方形也好,只要调用这个矩形的方法,就可以得出面积.
其实就是让虚拟的东西和我们现实中的东西产生联系,让别人看见你的代码就知道是要干什么.

这样同时还提高了代码的复用性,减少程序员的重复编码.



评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很给力!

查看全部评分

回复 使用道具 举报 1 0
不敢回复了,怕度没把握好被扣分。最近糗事百科非常火的一句话“好想有个家,家里有个她;白天么么哒,晚上啪啪啪”,前半句认为是面向对象,后半句认为是面向过程。

评分

参与人数 1黑马币 +3 收起 理由
Micro + 3 哈哈

查看全部评分

回复 使用道具 举报
面向对象,可以说万物皆对象,支取考虑事物对象能提供什么,至于怎样提供的不去考虑,比如要用电脑听歌,只关心电脑本身,不去考虑怎样播放。面向对象的精髓在于封装、继承和多态!!!
回复 使用道具 举报
面向对象的思想和面向过程的思想是两个截然不同的思想。面向对象的优点体现在他的代码可复用性,而且可维护性要优于面向过程的思想。
面向对象思想的特征中,继承使代码有了可复用性和可拓展性。封装把类的属性的实现细节隐藏起来,只给外部实现接口,这样就限制了代码的访问和修改的权限。而多态也提高了代码的可拓展性。

评分

参与人数 1黑马币 +3 收起 理由
Micro + 3 赞一个!

查看全部评分

回复 使用道具 举报
面向对象是抽象出来的一件事物,是虚拟化的,是人的一种惯性思维,方便解决问题的一种模式。面向对象有三个特性:封装、继承、多态。
所谓抽象成一种事物,比如人,把所有的成员属性抽象成人的各个器官,方法抽象成人的各个行为(人可以做饭,走路,说话等)。因此面向对象的模式就是定义一个类,而这个类就是这个对象,再去实现某个方法。相对而言,面向对象要好理解一些。

评分

参与人数 1黑马币 +3 收起 理由
Micro + 3 赞一个!

查看全部评分

回复 使用道具 举报
面向对象 我觉得就是一个事物,一个物体,一个东西
它有属性和行为

评分

参与人数 1黑马币 +1 收起 理由
Micro + 1 淡定

查看全部评分

回复 使用道具 举报
我是初学者,虽然也知道面向对象的三大特性:封装、多肽、继承。但是因为写的代码少,低级。所以对这三大特性并没有太大的理解。但是我也有一点自己的感觉:就是对象调用方法,谁,要做什么,就是哪个对象,要调用哪个方法。
刚学c基础的时候感觉很简单(其实是很难的,简单是因为我只学了皮毛),就三十多个基础词语,想要达成什么目的,就排头写,要做什么,按照过程一步一步来。
而学oc时就感觉很难了,好多东西乱七八糟的感觉,明明一个很简单是事情,却要先声明类,又定义方法的。然后再新建对象调用方法。那么多的乱七八糟的方法。一开始真的感觉就是看天书,比c语言难多了。一直到等我把oc基础看完,自己的思想转变后才发现,面向对象嘛,就是明白要完成一个什么任务,这个任务由谁来做(对象),怎么做(方法)。比如人吃饭,那就是让人这个对象,调用吃饭的方法。
现在做c语言的自测题,我都会不自觉的先把方法(函数)写好了,然后到时调用就行。

评分

参与人数 1技术分 +2 收起 理由
Micro + 2 很给力!

查看全部评分

回复 使用道具 举报
面向对象首先要对自己要做的东西进行梳理,然后根据自己实际的需要来对,我们所需要的这一类对象抽象出一个我们所需要的类来其中的成员变量的设定必定是程序中将会用到的不然没有必要去从对象身上抽象出该属性作为类的成员变量

评分

参与人数 1黑马币 +2 收起 理由
Micro + 2 赞一个!

查看全部评分

回复 使用道具 举报
wzboy 中级黑马 2015-3-18 13:13:44
13#
面向对象,
记得老师说过,把大象放到冰箱里需要几步
1.把冰箱门打开,
2.把大象放进去,
3,把冰箱门关上。
这是一个面向过程的程序。
如果下次要写代码,要求把水果放到冰箱里,就要重写一遍。为了提高代码复用率,提高程序的灵活性。就要抽象出一个方法。
如果是我,我就会把冰箱当做一个对象,创建一个函数,当调用的时候,把大象当做一个参数传进去。下次再放水果的时候,创建一个对象,把水果当函数传进去就行了。
记得在某个网站上看过一个类似的笑话:如果你让一个程序员去毁灭地球的话,他不会直接去毁灭,而是写一个毁灭宇宙的函数,把地球当做一个函数传进去、、、

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 赞一个! 好大的冰箱

查看全部评分

回复 使用道具 举报
wzboy 中级黑马 2015-3-18 13:19:11
14#
wzboy 发表于 2015-3-18 13:13
面向对象,
记得老师说过,把大象放到冰箱里需要几步
1.把冰箱门打开,

哈哈~谢谢版主,我会继续努力的。
冰箱的故事是苏坤老师讲的,班门弄斧了。
回复 使用道具 举报
xsun 中级黑马 2015-3-18 13:25:45
15#
Keep it DRY, Keep It shy,and tell the other guy.

以前Java老师告诉我们的。
回复 使用道具 举报
面向对象,首先要了解什么是对象。万物皆对象,也就是所有东西都可以看做是对象。
面向对象的思想不同于面向过程思想注重每一个步骤的实现,而是把这些步骤分由不同的对象中。然后通过这个对象进行实现。如:用茶壶给一个杯子倒水:
面向过程的思维:1.拿来杯子。 2.拿起茶壶。 3.倒水。 那么如果是同样用茶壶给别东西倒水,又需要重新定义这三部。
而面向对象中:茶壶是一个对象,倒水是茶壶的一种行为。那么无论给什么东西倒水,只需要把这个东西拿给茶壶这个对象即可。

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很给力!

查看全部评分

回复 使用道具 举报
http://bbs.itheima.com/thread-175101-1-1.html
之前发过帖子,貌似没人看- -

评分

参与人数 1黑马币 +2 收起 理由
Micro + 2 淡定

查看全部评分

回复 使用道具 举报
最开始我开始我是学习C,后来学习OC。谈谈自己的理解吧,可以和面向过程的相比较,面向过程就好像制造一台机器的时候,需要去考虑机每个机器的零件怎么工作,然后将各个零件完成组装成了一台机器。而面向对象,比较趋向于人类的思维,它就是把一台机器看作一个对象,我们关心的是这台机器需要做什么工作 以及机器的一些属性问题,又好像对于一个学生的时候,我们关系他做什么和一些和他本身的属性,而不去关系这个学生由什么组成的。我就是这样理解的,不知道有没有偏差,希望得到纠正

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很给力!

查看全部评分

回复 使用道具 举报
老师,给您留言版留言的问题,您能看到么?
回复 使用道具 举报
所有物体或个体都能够看做对象,比如 人、车、桌子、椅子等
以人来说:对人的描述的 就是属性,年龄、姓名、性别....
人的动作就是方法:人会走、会吃、会思考....

把属性和方法封装起来,也就是类的建立,就是面向对象的实现

评分

参与人数 1黑马币 +2 收起 理由
Micro + 2 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马