【OC简介-类和对象】

OC与C语言相比,体现的是一种面向对象的思想。OC完全兼容C语言

OC中大多数类前面都有前缀NS,来源于乔布斯NextStep团队,被苹果收购后保留了所有基本语法,合并到Foundation中

OC语言以.m为文件后缀

OC中绝对多数类继承自 NSObject  OC是单继承(可以使用协议来达到多继承的效果)

一、关键字 @ 格式化为对象

@"Hello, World!"  为字符串对象

@[@"123",@"234"]; 数组

@selector() 选择器

@property 属性

id  表示任意类型

二、类

//声明       person类   继承自  NSObject

@interface   Person      :      NSObject

{   //成员变量(有结构体的影子)、全局变量(它就是全局变量) 

   

  NSInteger age;

    NSString *name;

}

//实现

@implementation Person

@end

很多情况我们会重写init方法,比如:

- (instancetype)init

{

    self = [super init];

    if (self) {

        //做一些事,设定默认值 预设条件

        age = 20;//如果不存在,自动设为0

        name = @"zhangsan";  //常量的赋值方法

        /*

         age = 0;

         name = nil;

         char *s = NULL

         */

        name = [[NSString alloc ]initWithFormat:@"zhangsan"];//一般用这种方法赋值

        NSLog(@"%ld",age);

        NSLog(@"%@",name);

    }

    return self;

}

 

三、对象初始化

Person *per = [[Person alloc]init];

Person *per = [[Person new];//跟上面效果是一样的

分配好内存的对象 OC都是自动分配内存,然后将分配好的内存初始化为想要的对象 alloc分配内存  init 初始化

注意:Person *per1 = per; 这个只是改名或者赋值

四、对象输出

对象都用%@输出

NSLog(@"%@",per);

五、方法

格式:

调用者 返回值  方法名称(带参就有冒号)      参数类型       形参名

 -       (void)      run            :                     (int)        distance;

调用:

[对象 方法名]

[per run];

 

posted on 2015-04-10 13:06  追梦小子fire  阅读(164)  评论(0编辑  收藏  举报