------<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