oc中类的实现感觉还是比较繁琐的,它与php,java中类写法不同,看上去有种超级变态的感觉,但是我觉得如果写多了还是能掌握的。
oc中类的写法:
#import <Foundation/Foundation.h> // 要用到fFoundation框架
1.不带参数的类的写法
@interface Car:NSObject
{
// @publc 一般public不写
int _wheels;
int _speed; //类属性
}
- (void)run; //方法的声明 ,注意其与函数的区别 函数 int run(); oc中的方法是不带()的,这是一个不带 参数的方法
@end
@implementation Car
//方法的实现
- (void)run
{
NSLog(@"车子跑起来了");
}
@end
int main()
{
Car *c=[Car new];
c->_wheels=4;
c->_speed=200; //主函数中调用类的属性 用类名->属性
[c run]; //调用方法
return 0;
}
2.带一个参数的方法的类
@interface JiSuanQi:NSObject
{
}
- (int)PingFang:(int)num; //方法声明
@end
@implementation JiSuanQi
//方法的实现
- (int)PingFang:(int)num
{
return num*num;
}
@end
int main()
{
JiSuanJi *jsq=[JiSuanQi new];
int a=[jsq PingFang:10];
NSLog(@"%i",a);
return 0;
}
3.带两个参数的方法的类
@interface JiSuanQi:NSObject
{
}
- (int)sumnum1withnum2:(int)num1 withnum2:(int)num2; //方法声明
@end
@implementation JsSuanQi
- (int)sumnum1withnum2:(int)num1 withnum2:(int)num2{
return num1+num2;
}
@end
int main()
{
JiSuanQi *j=[JiSuanQi new];
sum=[j sumnum1withnum2:10 withnum2 :20];
NSLog(@"两数的和是:%d",sum);
}
总结:会写类中的方法,及带参数方法的命名规则,函数名应该具有可读性好这个特点,因此命名应该要有意义。注意参数:的个数和参数的正确性。