------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
OC中方法的声明和实现,都必须以+ 和- 开头。其中+表示类方法,即静态方法,-表示对象方法,即动态方法。并且.h文件中声明的所有方法作用域都是public类型,并且不能更改。
OC中定义一个类的时候,需要分两部分,分别是声明和实现。
其中,类的声明规定了类的类名,属性,以及行为。而类的实现也就是行为的实现。
比如,我们需要定义一个学生类Student , 学生的行为有吃饭 eat.
那么我们可以通过以下代码来实现:
#import
@interface Student:NSObject
{
@public;
NSString *Name;
int age;//类的属性
}
//类的行为
-(void) eat;
@end
@implementation Student
//行为的实现
-(void) eat {
NSLog(@"吃东西");
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
Student *s=[Student new];
s->age=12;
s->Name=@"xingm";
NSLog(@"%d,%@",s->age,s->Name);
[s eat];
}
return 0;
}
OC中类的声明和实现格式就是这样,那么使用OC相对于C来说有哪些好处呢?
我们知道OC是对C语言进行扩充之后的一门面向对象编程的语言,而OC的出现,可以说降低了我们开发的难度,同时也增加了代码的可读性。
降低开发的难度:C语言中内存总是我们很头疼的一个问题,如果在某一块代码开了一个内存,然后忘了释放,之后就会产生错误,而OC在Xcode4.0中已经支持自动释放,也就是ARC(Automatic Reference Counting)机制,不需要用户手动去Release一个对象,而是在编译期间,编译器会自动帮你添加[NSObject release]。
而面向对象编程相对于面向过程来说,这种设计方法是现实世界我们思考和认识的特点,将代码世界里具有相关联性的数据和对数据的操作放在一起,作为一个相互依存,不可分割的整体来处理。先考虑整体、共性的东西,再考虑个性、个别的东西,有利于问题的简单化,在设计大型,复杂应用的时候,比C语言更加高效。