黑马程序员---成长之路-----OC之基础篇函数和对象方法的区别

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流!


一、对象方法

1、对象方法的实现只能写在@impelementation...@end中,对象方法的申明只能写在@Interface...@end中间。

2、对象方法都以-开头,类方法都以+号开头。

3、对象方法只能由对象来调用,类方法只能由类来调用,不能当做函数一样调用。

4、函数属于整个文件,可以写在文件中的任意位置,包括@impelementation...@end中,但是写@Interface...@end中会无法识别,函数的申明可以写在main函数的内部,也可以写在main函数的外部。

5、对象方法归类\对象所有。

二 、函数

1、所有的对象都是平行的。

2、函数不存在隶属关系。

3、使用的时候可以直接调用。

4、不可以访问对象中的实例变量。

三、初学者OC中容易犯的错误

1、@Interface...@end和@impelementation...@end不能包含嵌套,在OC中没有@Interface...@end,把申明写在@impelementation...@end中不会报错,但是不能这样写,OC是弱语法,这样写虽然不会报错,但是在运行时可能会出现意想不到不错误。

2、只有类的申明没有类的实现,这样写出来后,程序编译会通过,但是运行的时候会报错。

3、漏写@end。

4、成员变量没有写在{}里。

5、在申明时不能对类的成员变量初始化。

6、方法无法像函数那样调用。

7、尤其注意static关键字使用,不能修饰成员变量。

四、对象和方法之间的关系

1、对象作为方法的参数

//申明一个含参的方法
-(void)disPerson:(Person*)person;

//创建一个对象
Person *p=[Persom new];
Person *p1=[Person new];
//对象作为方法的实参
[p disPerson:p1]
p1作为参数传递给P调用的方法disPerson。

2、对象作为方法的返回值

@impementation Person


-(Person)disPerson:(Person*)person{

return person;
}
@end






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值