OC 第一讲 类与对象

来源:互联网 发布:php授权源码 编辑:程序博客网 时间:2024/05/19 20:40

什么是oc?

Objective-C 面向对象的扩充C语言编程语言。

它的简史:

1980年初:Brad Cox 和Tom Love 于Step Stone 公司发明来OC

1988年 :乔帮主于Next 公司购买来OC 授权,开发了NeXTSTEP 操作系统

1996年底:苹果公司收购了Next 公司,NEXTSTEP 成为Mac 系统的基础,OC 成为主要开发语言; 

(苹果公司为什么收购NEXT 公司的主要原因就是想要乔帮主回来,但碍于面子等等,只能把公司收了!这就是真爱啊!)

OC 面象对象的特性:封装,继承,多态。 封装就是里一层外一层的封起来,继承就是父类子类关系,多态就是有很多方法。

之前我们学过C语言 ,一个是面向过程,一个是面向对象,那么具体什么区别呢?

OC 中类和对象是我们的核心,那么具体怎么定义类呢?怎么创建对象呢?又怎么使用对象呢?

类就是具有特征和行为的事物的抽象!

对象是类的实例, 类是对象的类型。

生活中手机就是一个类,那么我们思考下手机有什么特性?又有什么行为呢?

#import <Foundation/Foundation.h>

@interface Phone : NSObject {

/// 成员变量:特征

   @public

   char _color[20];    //颜色

   char _size[20];     //大小

   char _brand[20];    //品牌

   float _price;       //价格

}

/// 打电话 :行为

- (void)call;

/// 拍照

- (void)takePhoto;

@end



这个Phone类中又4个特征:颜色,大小,品牌,价格; 有2个行为打电话和拍照。这样整体就是类,上述写的只是一个声明,具体实现是在 Phone.m文件实现, 如下:


#import "Phone.h"


@implementation Phone

/// 实现方法(实现行为)

- (void)call

{

   NSLog(@"打电话");

}

- (void)takePhoto

{

 NSLog(@"照相");

}


@end



声明和实现都写完了,现在就需要创建对象了,对象是用来干什么的,这应该人人都知道吧?对象就好比生活当中,有很多很多的女人,这就是一个类,然而其中有一个女的是你女朋友,那么她就是对象,她拥有类中所有的特性和行为,不过你也可以拥有很多对象,他们都是你创建出来的,所以OC中的对象也是,但是OC 创建需要先开辟一个空间,和初始化。也就是根据类声明的成员变量开辟内存,将所有的成员变量设置初始值。具体如下:


Phone *a = [[Phone alloc] init];

        a = [a init];

        [a call];

   a就是我们创建的对象,你让她干什么就干什么,[a call] 就是a 行为的一种体现。

还有一点:上面写了- (void)call 方法,她是类的一种行为,是面向对象的,所以我们要用减号-;其实我们也可以用加号+ :这样这个方法就属于类,只有类能执行,也就是说 她是公共的,是所有的。声明如: +(void)welcome; 具体实现如下:

+ (void) welcome

{

NSLog(@"手机世界欢迎你!"); 

在main中 就是 [Phone welcome];  这种就是只有类能使用的方法。现在我们对象有了,方法有了,可是这个对象好像不是很好,那么就改一改可以吗?给她好好包装下。

答案当然是可以的,不过最好先把原来的放掉,不让独自占着茅坑不拉拉! 哈哈,下面就是我们设置对象的例子了(a 仍然是对象):

a->_color = @"蓝色";  我们将手机的颜色换成了蓝色。 输出:NSLog(@“%@”,_color);  这样就可以实现了!


OC 最初是很抽象的,可是写多了,发现就这么回事,现象就去想想 房子类怎么弄? LOL类怎么弄?植物大战僵尸到底有多少类?这些我们都应该可以理解类。

0 0
原创粉丝点击