OC中类的定义分为两部分:
1)累的声明(规定当前类的:类名、属性、行为)
1 @interface 类名:父类名
2
3 {
4
5 //定义类的属性
6 }
7
8 //类的方法
9
10 @end
2)类的实现:
1 @implementation 类名
2
3 //方法的实现
4
5 @end
方法的声明格式:

方法的调用:
使用对象的调用方法就是OC的消息机制
OC语言中采用特定的语言调用类或者实例(对象)的方法称为消息发送或方法调用。
OC中方法调用种:
[类名或者对象名 方法名];
Car *car = [Car new];
OC中的方法分为两种:对象方法、类方法
对象方法:
1)对象方法以-开头如 -(void)xx;
2)对象方法只能由对象调用
3)对象方法中可以访问当前对象的成员变量
4)调用格式 [对象名 对象方法名];
类方法:
1)类方法以+开头 如 +(void)xx;
2)类方法只能由类来调用
3)类方法不能访问实例(成员)变量,因为类方法由类来调用,
并没有创建存储空间来存储类中的成员变量。
4)调用格式[类名 类方法名];
5)类方法的好处和适用场合:
不依赖与对象,执行效率更高,因为不用创建对象,节省内存空间。
带参数的方法的定义和实现:



C语言函数和OC对象方法的区别:

在工作中,通常把不同的类放在不同的文件中,每个类的声明和实现分开,声明写在.h头文件中,
实现写在对应的.m文件中去,类名是什么,文件名的前缀就是什么。
假设有两个类,分别是Person类和Dog类,则通常会有下面五个文件:
1)Person.h Person类声明文件
2)Person.m Person类实现文件
3)Dog.h Dog类实现文件
4)Dog.m Dog类实现文件
5)Main.m主函数(程序入口)
在主函数以及类的实现文件中只要使用#import包含相应的头文件。

1 Dog类
2
3 -(void)run;
4
5 想调用run方法,
6
7 Dog * dog = [Dog new];
8 [dog run];
9
10 Dog类
11
12 +(void)run;
13
14 想调用run方法,
15
16 [Dog run];
OC匿名类的使用方法:
1 先定义一个车类
2 @interface car:NSObject
3 {
4 int _speed;
5 }
6 -(void) stop;
7 @end
8 //实现类
9 @implementation car
10 -(void)stop
11 {
12 NSLog(@“ting”);
13 }
14 @end
15 @interface person:NSObject
16 -(void) gohome
17 car *)car;
18 @end
19 @implementation person
20 -(void)gohome
21 car*)car
22 {
23 [car stop];
24 }
25 @end
1 /*
2 1、使用匿名类访问实例变量(只能访问一次)
3 以后再访问,实际上访问新的空间
4 [car new]->_speed = 250;
5 NSLog(@“_speed = %d”,[car new]->_speed ); //打印结果为0,因为匿名类只能访问一次,
6 2、使用匿名的类,可以调用方法
7 [[car new] stop]; == [[[car alloc ] init] stop]
8 [[car alloc] init] 等价与[car new]
9
10 匿名类作为方法的参数
11 person *p = [person new];
12 car *c = [car new];
13 1、[p go home:[car new]];
14 2、[[person new] go home:[car new]];
15
16
17 */
匿名类的优缺点:
优点:可以简化代码,方便方法调用
缺点:匿名对象实例化以后,只能正确的使用成员变量一次
本文深入解析Objective-C中类的定义与实现,包括类的声明、方法的声明与调用,以及对象方法与类方法的区别。同时,探讨了匿名类的使用方法及其优缺点,为读者提供全面的Objective-C类与方法概念理解。
500

被折叠的 条评论
为什么被折叠?



