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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

面向对象就是站在对象上去考虑问题。如果你去算一个长方形的周长,你就要考虑长方形的长和宽。你要先定义长方形的类,然后在类里定义长和宽!
回复 使用道具 举报
说说我的理解:
万物皆为对象,就是根据万物的特性和行为及唯一性,抽取出来,表达为对象,使之具有属性,方法和唯一的标识。
回复 使用道具 举报
就像LZ问同学们什么叫面向对象这问题一样?所有回答LZ问题的同学都是1个个对象(我们这些对象有个共性就是具有能回答这个问题的对象,至于回答的怎么样不重要),LZ不需要回答什么是面向对象,只要调用所有同学对象的相应方法,就能得到不同的答案一样,比如说:喂,同学A对象你来回答下“什么叫面向对象”这个问题,同学B对象你来回答下“什么叫面向对象”这个问题。。。

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 赞一个!

查看全部评分

回复 使用道具 举报
就像LZ问同学们什么叫面向对象这问题一样?所有回答LZ问题的同学都是1个个对象(我们这些对象有个共性就是具有能回答这个问题的对象,至于回答的怎么样不重要),LZ不需要回答什么是面向对象,只要调用所有同学对象的相应方法,就能得到不同的答案一样,比如说:喂,同学A你来回答下“什么叫面向对象”这个问题,同学A说xxxxx, 同学B你来回答下“什么叫面向对象”这个问题,同学B说xxxxxxx。。。
回复 使用道具 举报
有一些比较深刻的体会,在校学习的是面向过程,主要写C/C++程序代码,思考程序逻辑,具体实现步骤等等。在学习java这些面向对象的时候,刚开始感觉思想非常转不过弯来,写一个程序我都对过程去详细实现,依旧是面向过程的思想,但是学习久了觉得面向对象对过程都已经封装好了,就像是我们只需要对两个具体对象的行为去进行思考,而不需要考虑中间的是怎么实现的,不需要考虑对象的属性啊,构成之类的。

评分

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

查看全部评分

回复 使用道具 举报
⑴对象唯一性。  每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。  ⑵抽象性。  抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。  ⑶继承性。  继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。  继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。  在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。  在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。  在目前的主流语言中,C++支持多重继承,JAVA、VB.  NET、Objective-C均仅支持单继承,注意在C++多重继承时,需小心二义性。  在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重用性。  采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。  ⑷多态性(多形性)  多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。  多态性允许每个对象以适合自身的方式去响应共同的消息。  多态性增强了软件的灵活性和重用性。

评分

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

查看全部评分

回复 使用道具 举报
面向对象具有三大特性:封装、继承、多态。封装是基本、继承是封装的扩展、多态是继承的的扩展。结合这三个特性,就能完善的描述大自然的所有事物。描述一个事物即为面向对象。
回复 使用道具 举报
在学习面向对象过程中,初学者可能对这个对象,理解起来很抽象,直接用起来不是很好理解,用一个简单的事物去解释这个名词我觉得很方便,例如:“人”是一个类,而“小明”就是这个类中的一个对象,对象共有的属性,比如姓名,年龄等,对象公有的动作(方法),比如跑步等。当声明该,并实现该类中的方法,创建了该类的对象,也就是[Person new],需要用Person类型的指针去指向该对象的地址,从而调用其中的getter,setter方法,以及其他方法。运用类,去创建一个对象来调用方法的过程,这就是面向对象的操作。其中,属性的getter,setter方法体现了面向的对象中一大特性,就是封装。以上就是我对面向对象的个人理解。按照规范说,面向对象:封装、继承、多态这是三大特性。

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 赞一个!

查看全部评分

回复 使用道具 举报
1048 中级黑马 2015-3-24 09:50:39
109#
就比如说 黑马吧。。
是一个对象。。。 教c语言,教安卓,教ios 。。这些都是他的功能了。。
回复 使用道具 举报
面向对象是基于万物皆对象这个哲学观点. 把一个对象抽象成类,具体上就是把一个对象的静态特征和动态特征抽象成属性和方法,也就是把一类事物的算法和数据结构封装在一个类之中,程序就是多个对象和互相之间的通信组成的.
面向对象具有封装性,继承性,多态性.封装隐蔽了对象内部不需要暴露的细节,使得内部细节的变动跟外界脱离,只依靠接口进行通信.封装性降低了编程的复杂性. 通过继承,使得新建一个类变得容易,一个类从派生类那里获得其非私有的方法和公用属性的繁琐工作交给了编译器. 而 继承和实现接口和运行时的类型绑定机制 所产生的多态,使得不同的类所产生的对象能够对相同的消息作出不同的反应,极大地提高了代码的通用性.
       总之,面向对象的特性提高了大型程序的重用性和可维护性.

评分

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

查看全部评分

回复 使用道具 举报
面向对象关注的是解决问题当中需要哪些对象,一般来讲面向对象侧重于问题的目标或者结果,而不用关注解决问题当中具体需要用的过程和步骤,
回复 使用道具 举报
object-c是面向对象,c是面向过程。面向对象和面向过程只是解决问题的两种不同思想
区别:
        面向过程关注的是解决问题需要那些步骤
        面向对象关注的是解决问题需要那些对象
回复 使用道具 举报
面向对象,首先让我想起Java,让我感觉在程序中class是第一类公民;与之相对的是面向过程,C语言,感觉function是第一类公民。
回复 使用道具 举报
如果说面向过程是脱氧核苷酸的话, 那么面向对象就是 DNA, 多种脱氧核苷酸按照不同的方式排列, 最终产生多样的DNA.

点评

说好的 黑马币 @@!  发表于 2015-3-24 20:32
回复 使用道具 举报
在java中万事万物皆对象,都可以把现实中的人或者事物抽象成一个对象
回复 使用道具 举报
面向对象就是以标准特征为类模板,以具体符合所有要求特征的个体为对象,比如人一个类,人的标准是有身高,体重等的属性,有吃饭,睡觉等的行为。那么张三是一个对象,因为他有身高、体重的属性和吃饭睡觉的行为,张三符合人的所有标准特征,而且是一个特定的个体,所以张三是一个人的对象。

评分

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

查看全部评分

回复 使用道具 举报
面所谓理解,就是能将抽象的的东西熟悉划。换言之,面向对象是针对面向过程的,至于他们的定义,一查一大堆。。。要我定义,那就俗一点:
编程=钓鱼
面向过程:想钓什么鱼,就在鱼塘放上什么鱼,而且不是一个鱼塘,只要鱼放得对,一准错不了
面向对象:想叼什么鱼,就用不同而饵料(接口)在一个大鱼塘里面钓不同的鱼就得了,只要饵料用得对,一准儿错不了

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 赞一个!

查看全部评分

回复 使用道具 举报
感觉就是干什么都不需要自己干,调用属于他的方法。基本名词,属性都可以作为类,作为对象。想要开机,不需要手动开机。而是去电脑对象里面调用电脑开机的方法。想要听歌就去歌对象找歌的方法。
OC还没看完,不过每当有一个问题可以多种方法解决的时候,“拿对方” 往往 比 ‘自己去写’ 方法更为优秀。。任意时候任一方法都可以从对象中找到,这样的思想感觉什么庞大的工程都可以循规实现。。

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
如果一定要说面向对象,那就无论如何都绕不开三大特征:封装,继承,多态。
面向对象,简单来说,就是把所看到的都看成是一个一个的个体,所有事件,活动,动作等动的东西,都是一个一个的个体做的,有了个体,才有动作。而面向过程,就是把所发生的一个时间序列,按照时间把这个过程描述出来,也就成了面向过程。
一般简单问题用面向过程处理貌似简单一些,而复杂问题一般用面向对象处理会简单一些。
回复 使用道具 举报
面向对象包括三个特征:继承、封装、多态。
类的继承性是指从已有的一个类来extends子类,子类具有了父类的所有特征,同时,子类也可以有新的特性。比如:人是一个类,男人具有了人类的所有的特性,比如思考,比如劳动。同时,男人也有新的特性,比如男人会长胡子。

类的封装是指类把所有的操作都封闭起来,仅仅提供接口出来让其他人使用,使用的人没有必要懂得类里面的操作,只需要懂得操作接口就可以了。比如开汽车,我们只需要懂得方向盘、刹车、油门等等的使用就可以了,没有必要知道刹车是如何构成的封闭好的操作。同时,封装也提高了程序的可替换性。比如两个汽车公司实现刹车的方式不一样,但是,只要我们学会了使用刹车,那么,开两个汽车公司的车就都没有问题了,我们不需要考虑他们怎样实现刹车这门技术的。

类的多态性是一个对象的某项功能可以处理不同类型的问题,或者一个子类可以将父类的某个功能替换成新的功能,具体到编程的方面来说实现类的多态有override和overload,也就是覆写和重载。
同时面向对象还有一个很重要的概念:抽象。抽象就是一个事物的本质。当然对于本质,不同的角度却会有不同的理解。男人,在和女人一起的时候,它的本质是人。在和所有的生物一起的时候,它的本质是动物。

评分

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

查看全部评分

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