OC基础知识点总结类的定义与实现

1.不带参数方法定义

 

首先oc中的方法有两种:对象方法,类方法

对象方法

必须要以-号开头  2).将数据类型(返回值,参数)放在小括号里面,而且只有数据类型才放到括号里面. 3).interface里面只能写方法的声明

先写c的函数void  test()

oc的对应的方法   - (void)test;

方法的实现放在implementation中

-(void)test{

在方法实现中可以直接调用自己的成员变量

}

Phone *phone = [Phone new];

[phone test];

最后  画图说明   isa成员变量(指针)不是我们创建的,是类原来就有的,专门用来指向方法列表

方法的调用叫消息机制

再写一个有返回值的方法

 

2.带参数方法定义

 

1)总结前面讲的不带参数的方法

无返回值,有返回值

2)先声明c语言写带一个参数的方法

void sendSignal(char *number);

写oc语言声明带一个参数的方法

注意:当方法有参数时,要在参数类型前面加:冒号

冒号也是方法名的一部分

 -  符号不是方法名的一部分

测试:1.翻看调用方法名时是加:号的   2.写一个不带:号的方法可以与刚才的方法同时存在,说明是两个方法

-(void)sendSignal:(char *)number;

 

3)在@implementatipn中写方法的实现

-(void)sendSignal:(char *)number{

   NSLog(“%s”,number);

}

4)在main.m中调用刚才的带参数方法,因为是对象方法,所以要用对象来调用

Phone *phone = [Phone new];

[phone sendSignal:”12305”];  再次分析一下内存中的实现

 

5)声明一个带多个参数的方法

   方法名是:sendMessage::

   -(void)sendMessage:(char *) number  :(char*)message;

   实现,

    -(void)sendMessage:(char *) number  :(char*)message{

       NSLog(“%s,%s”,number,message);

}

   然后调用

[phone sendMessage:”12306” :”good foryou”]; 

 

说明这样不好,因为当调用方法的时候,不知道具体参数是什么,所以进行修改,在每个参数前面加上一个标签,来说明对应的参数

 

创建一个对象

@interface Person :NSObject

{

    int _age;

}

- (void) run;

 

- (char *)personCallPhone:(char*)phone  message:(char *)message;

@end

 

@interface Person :NSObject

{

    int _age;

}

 

- (void) run;

 

- (char *)personCallPhone:(char*)phone  message:(char *)message;

@end

 

OC字符串:

1)c的字符串表示方法 char* 或数组

直接了当告诉NSString是一个字符串类    @“abc”这就是一个字符串类  然后用一个nsstring类保存这个对象

2)打印  先讲c的打印引出oc的字符串打印

 

3)>int a = 4, b = 6; 想生成一个带有这两个变量值的字符串

 >讲创建nsstring的方法 [nsstring stringwithformat:@“”,];

4)>通过讲解将字符串写成一个类的好处,引出length方法  ,

 

>再讲解length  以各国的字符为单位返回长度   而c当中 的strlen是以字节为单位

5)总结nsstring类,将面向对象的好处

 

>在用NSLog输出字符串时,c中的中文无法输出(用%S)  所以oc中的nsstring更符合人们的习惯多用面向对象的思想

 

BOOL数据类型讲解

BOOL是oc中的一种数据类型 ,

他的值有两种:YES和NO

实际就是通过typedef int BOOL给int起的一个别名,所以实际上BOOL类型的变量是可以输出所有的整数值的.

但是如果要给变量赋值YES或NO是,只能打印出1或0.

所以对于BOOL类型的YES和NO这两种值,在微观意义上就是1和0.但是在宏观上可以理解为非零和零

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值