您的位置:首页 > 其它

OC-1-面向对象

2015-11-30 19:53 204 查看
课程要点:

C语言是一种面向过程的语言,OC是一种面向对象的语言
类与对象的关联
如何在xcode中创建一个类
如何在类中标记该类事物的属性和动作

C语言是一种面向过程的语言,OC是一种面向对象的语言

1、面向过程

我现在让没有学过iOS开发的小闪同学去负责一个项目,此时在我需要做以下事情,小闪才能做到我交付给她的任务。

① 第一天我需要告诉她,掌握哪些知识才能够做这个项目,如:Xcode软件,C,OC(MVC,KVC,KVO,代理,单 例......),UI.......

② 在接下来的两星期我要手把手的教她怎么用C语言写程序,以及写的每一句代码什么意思。

③ C语言基本掌握以后,我继续用两星期左右的时间去手把手的教小闪同学如何用OC写程序,以及会告诉她每一句代码的意思。两星期根本讲不完整个OC知识,而且OC里有些东西如果不结合实际例子根本不好理解。但这两周的时间已经把OC的基本知识给小闪介绍完毕。

④ 接着便会进入UI阶段,还是会手把手的教她如何绘制app里的一些试图,以及告诉她这里面潜在的一些坑,另外在UI阶段我会结合实际需求不断的给小闪补充在OC阶段没有讲的一些知识点。例如:单例、代理、KVC,KVO。

⑤ 最后进入项目阶段。我让小闪同学在我给的选项里选择一个项目,独立完成。如果遇到问题,首先自己想办法解决,如果实在解决不了,我再介入。

⑥ 小闪最终在规定的时间内完成她选择的项目,让我很是欣慰。现在我才放心而且相信小闪同学能够做好我刚开始想要让她所负责的项目。

PS:在这个例子中,我所面对的重点其实就是过程。我要让小闪能够单独做项目,我得实实在在、认认真真的做到我列出的每一步,才能实现我最后让小闪帮我做项目的目的。缺少任何一步都不行。这就是面向过程,每一步都得亲力亲为。

2、面向对象

距离我上次教小闪同学iOS课程已经有半年了,她在这段时间表现不错,我上次让她负责的项目也已经完美交付。现在我手里头又有一个项目需要找人做,客户给的钱也不少,那就还交付给小闪吧,让她半年交付。我呢,就去喝喝茶,钓钓鱼,享受生活。哈哈哈哈哈哈哈。。。。。

PS:此时我面对的重点不在是过程而是对象,我只需要知道这个对象有实力做到我交给她的事情就行,具体怎么做这个对象自己有办法。我最终只要得到我想要的结果便可。

类与对象的关联

1、类的概念

类,是对同一类事物高度的抽象,类中定义了这一类对象所应具有的属性和动作。简单的说类就是同一类事物的统称。

我说人,你脑子里会瞬间出现一个关于人的概念,你知道满足什么条件才叫做人类,但你无法跟对我说出是具体的哪一个人。人就是对世界上所有人的一中高度抽象。

类中的属性指的是这个高度抽象的事物中他所有的属性,比如人的名字、性别、年龄等属性。

类中的动作指的是这个高度抽象的事物中他能做的事,比如人会吃饭、会喝水、会打架、会穿衣服。

2、对象的概念

对象,是类的一个实例。

我说人类中的小闪,此时你脑袋里关于小闪的概念不在是模糊的了,你知道谁了小闪了(就是接了我两个项目、也是你们学姐的那位)。还有习大大、奥巴马、安培等等这些具体的人,便是人里面具体的实例。



PS:由此咱们可以得知,一个结论------万物皆对象。

如何在xcode中创建一个类

在C语言时,咱们创建工程一直选的是C语言,现在咱们进入OC,创建工程时一定要记得选择OC语言



接下来的图示是如何在Xcode中创建一个类











如何在类中标记该类事物的属性和动作

通过上面那些操作,咱已经创造出来了一个类,由类名可知,咱们创造这个类是为了能够抽象人类,人类有名字等属性,吃饭等动作。但目前这个Person类却是一无所有。所以为了完善这个类,我需要在类中做一些操作。(在次我只给人类设置了名字属性,和吃饭动作)。

类创建完以后大家可以发现,在咱们的工程里多了两个文件。Person.h和Person.m文件,这两文件的相辅相成共同构成了咱们的Person类。接下来分别介绍.h文件和.m文件的作用。

就我理解看来,Person.h和Person.m共同构成了一份简历。

我们先看看简历格式:

第一部分:个人属性,姓名-性别-年龄-学历-婚姻状况

第二部分:能做什么事

第三部分:举例子,告诉面试官你是是怎么做在第二部分提到的那些事,以让其相信你确实有实力做这些事。

接下来我们在看看Person类是怎么与简历格式一一对应的。

Person.h 是咱们的声明文件,所有需要让别人知道的信息都是写在这里(比如简历里的第一部分和第二部分)

#import <Foundation/Foundation.h>

/*
* interface:interface是接口的意思,咱们通过这个接口告诉别人咱的基本情况

* Person就是咱们的类名

* NSObject表明这个类继承的NSObject,现在不用理解什么是继承,为什么继承NSObject,后面会详解。

*/
@interface Person : NSObject
{
NSString *_name;
}//大括号里面放的是咱们简历里的第一部分,也就是基本属性部分

//方法(在C里叫做函数)是为了实现某一个功能,也就是咱们简历的第二部分,能做什么事。
- (void)eatFood;

@end


 

  

至此,我已经将这个类给完善了,现在这个类就能够代表人了。此时这个类有名字这个属性,并且有吃饭这个动作。

需要掌握的知识:

1、理解类和对象的意义

2、知道怎么在Xcode中创建一个类

3、知道类和实际生活的映射关系

练习:狗有名字,能咬人。 在Xcode中采用类映射一下这个事物。

思考:字符串是不是一种类,如果是试着举出一个对象属于字符串。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: