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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

解决问题只需要考虑找哪些对象,而不用考虑解决问题的过程。OC中的类如同图纸一样,用类来创建对象。解决问题只需要考虑创建哪些类,并用这些类创建多少对象。
回复 使用道具 举报
在我们生活中随处可见的一种事物就是对象,对象是事物存在的实体,如人、厨房、空气、手机等。它的特点就是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的。通常都会将对象划分为两个部分,就是顾名思义的“属性”和“行为”。任何对象都会具备其自身属性,如一个人,它包括高矮、胖瘦、性别、年龄等属性。然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分,这个人可以吃饭、打球、看书等,这些是这个人具备的行为,人类通过探讨对象的属性和观察对象的行为了解对象。对象有三个特征:封装、继承、多态。
回复 使用道具 举报
面向对象的三大特征封装,继承,多态。面向对象感觉就是对象,属性,方法吧。
举一个例子:学校中的学生student (对象)  学生的年龄age(属性)学生学习的方法study(方法)  这应该就是一个简单的面向对象吧
封装:就是把属性和方法放到一个对象中,对外只公开访问的接口,而把具体的实现就隐藏起来(说简单一点你可以调用我这个类,但是你看不到他是怎么实现的)
继承:就是一种代码的复用方式,是种关系(举例写一个类animal,他有一个方法就是eat,在写一个类cat,它继承animal,那么他就继承了animal得eat方法,可以在方法中重写)
多态:不同对象以自己的方式响应相同消息的能力(首先来说,多态是继承的,其次就是可以同时指向本类和子类
TRAnimal *animal=[TRAnimal alloc]init];
TRAnimal *animal2=[TRDog alloc]init];
[animal eat];
[animal2 eat];
对于这个就是多态,首先肯定是dog继承animal然后TRAnimal类可以指向animal和dog)
说了这么多,都快把自己绕进去了,不能在说了,理解有限,说的不对请大家改正,谢谢

评分

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

查看全部评分

回复 使用道具 举报
新人看视频中,我理解的对面可能比较浅显。因为自己玩魔兽,理解为,,魔兽中所有的英雄,是一个对象,由一个类产生,只是每个英雄的属性:技能,长相,生命值,攻击力不同,每个英雄的行为:比如说释放技能,走路,吃药,跳跃,飞行 等。。。同样也有一个类 会产生许多小怪  BOOS 他们也有自己的属性和行为  各种英雄 和 怪 就是对象 !!

评分

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

查看全部评分

回复 使用道具 举报
面向对象技术强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。面向对象技术的基本特征主要有抽象性、封装性、继承性和多态性。
回复 使用道具 举报
面向对象指的是在程序设计时使用封装,继承,多态的设计方法。。。。。比如在说的人类的时候我没有办法去具体化,因为人类是一个抽象的概念。这样我们就需要找一个个体人的个体来进行分析,每个人都是人类的一个对象。。。。他有很多的属性,行走,说话,吃饭等等。。。
回复 使用道具 举报
靠~面向对象的思想就是把一个勤劳的人变成一个地主~~~本来什么都要自己干 变成 什么都指使别人干
回复 使用道具 举报
面向对象的思想 一切事物都可以作为对象,需要完成什么,就直接命令这个对象去完成,
不再向c 语言一样 需要一步一步自己去完成,  面向对象的三大特性,是学习oc语言中的重点,
在封装中,我们可以提高代码的安全性。在继承中,我们可以提高代码的复用性。
在多态中,我们可以提高代码的可读性。
回复 使用道具 举报
我还不是很理解,但是还是回一下贴看看能有奖赏吗  想法还是要有万一实现了咧  哈哈
回复 使用道具 举报
面向对象就是不像c语言一样要想着一步一步怎么自己做,而是承包给别人(即对象),分割难题,让不同的别人去完成,利用别人,即对象的不同行为和属性,完成自己的目的。

函数是c语言中面向过程的封装,类就是oc中面向对象的封装。

因为承包给别的对象来干,不用自己琢磨怎么一步一步完成,所以更具高瞻远瞩,所以更高级,所以面向对象是比面向过程的语言更高级更符合人类的思维方式的一种编程语言。

好比玩星际,不用自己又做这兵,又做那兵的忙活不停了,自己建立一个军团,一群不同的,却有着一些继承关系(方便创建对象)的对象,让他们去为你征战,这不是很省力吗
回复 使用道具 举报
万物皆对象。
记的牛ll老师说过,什么是类?男人就是类,什么是对象?女人就是对象。当时觉的经典,现在还是觉的很经典。
对向对象,说白了就是把你想到的看到的都抽象成一个对象,这个对象具体各种行为。
比如你阿我阿他阿,大家都有一个共同点,每天都起床阿,刷牙阿,上班阿,坐地铁阿,都是人阿。
这样,我们就可以根据这个特点抽象出人类这个基类,人类具有 起床函数,刷牙函数,上班函数,坐地铁函数,我们不管是谁,都要做这些事,只要继承下这个类,我们都会具有这些动作。 说的不好,大家批评指教。
回复 使用道具 举报
每个个体都有一定的行为和属性,
例如动物都有吃饭、睡觉等行为和年龄、体重等信息,
汽车有启动、加速、刹车等行为价格和速度等信息
把某个个体的行为和属性按照人们的思考方式的抽象出来绑定到一起,形成一个模板(也可以理解为图纸),这个模板就是我们所说的类。
然后按照这个模板(图纸)可以创建出很多具有模板抽象出来的行为(方法)和属性,并且对应的行为(方法)有明确的动作,属性有具体的数值的实例,这就创建了一个实例对象。
当需要用到某个个体的行为和属性时,通常我们就会访问这个对象方法或属性。
举个视频中李老师的例子:人打开电脑
把人和电脑抽象出来形成Person和Computer类。
Computer可能包含牌子、价格等属性。Person包含年龄、性别等属性。在“人打开电脑”,属性不是关注的重点。
电脑在这有一个行为:开机启动  start()。
人在这里包含一个行为:开电脑:openComputer(Computer c)。
openComputer(Computer c)中调用c的start()方法
所以我们只需要调用某个人的openComputer(Computer c)方法,明确打开的是哪台电脑,传入相应的对象Computer c 即可完成该人打开电脑操作。



回复 使用道具 举报
打个比方,小明和小明的爸爸(老明)
首先他们都是人类,他们都具有人的特征,其次小明与老明都是一个对象,他们既有人的特征,而且他们又有自己的特点,所以他们是不同的对象
小明是老明的儿子,当然遗传了老明的特性,比如他嘴巴长的象老明(如果不象,那他妈妈肯定有那个咯,嘿嘿!!),这里小明继承了老明的一部分特点,但是,对于老明的一些特定的所拥有的东西(比如老明的情人),这个小明是不能用的对吧,嘿嘿!!(这些可以和楼上说的抽象性,封状性和继承类比)
回复 使用道具 举报
人生,总在不停的走,已经在很多地方都停下来过,现在很为未来努力
回复 使用道具 举报
面向对象得理解:
1,比如家里面的电灯坏了,这时候我要想怎么修这个灯,如果以面向对象的思想,灯是一个对象,当然他就这个对象的所有方法,就代表灯有修补的方法,如果我这么说还是感觉说的不清楚.
这相当与一个物体,他本身就是一个对象,而这个对象本身就带有很多本身自己的方法,面向对象的思想就是这个对象是谁的,如果你想使用它,你就应该去找这个对象,这像灯坏了,就找灯自己修
回复 使用道具 举报
OC面向对象,是为了承接C语言啊
回复 使用道具 举报
面向对象很人性化,符合我门的思维,我就是这么认为的!
回复 使用道具 举报
面向过程是一种直接的编程方法,它是按照编程语言的思路考虑问题。尤其是想C语言这种过程式语言,它就是通过顺序执行一组语句来实现一个功能,这些语句的执行过程就是整个程序。不同的语言解决同一个问题的过程是不一样的。
面向对象是一种抽象度更高的编程方法。它把眼光集中在了要解决问题本身而不是语言上。它的目标是使模块的抽象度更高,可复用性更好。面向对象的目的就是可复用。
回复 使用道具 举报
面向对象是相对于面向过程而言的。万物皆对象。当你想用到某个功能的时候,就去调用最懂这个功能怎么做的那个事物的相应方法。比如电脑关机,这是电脑的功能,你不需要关心关机的时候需要处理哪些程序调用那些硬件,只需要给电脑发一条“关机”的指令,电脑就自动的调用它的“关机”的方法把电脑关掉。
回复 使用道具 举报
虽然还没看到oc的视频,但是大学时学.net的  感觉差不多   面向对象的思想是共通的不分语言,直接把真实世界的思维方式代入到编程中,面向对象思想最重要的是他的三大特性吧,封装,继承,多态
举个例子c是面向过程的语言,假如你要去小区门口吃饭,用c你要先穿鞋,打开门,关门,下楼,走路,到饭店点餐。而面向对象的过程呢?直接就是你走路去门口的某个饭店吃饭就好了,不需要管路上怎么走,到饭店怎么吃。
因为这些过程全部被封装起来,要用的时候直接调用。
现在认真想想,这真的不止是技术上的革新,面向对象的思想,是整个it界的进步

评分

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

查看全部评分

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