黑马程序员——OC有参函数声明以及调用

黑马程序员——OC有参函数声明以及调用

 

 1 //没有参数有返回值方法的声明实现及调用
 2 
 3 //有参数有返回值方法的声明实现及调用
 4 
 5 #import <Foundation/Foundation.h>
 6 
 7 @interface cacu:NSObject
 8 
 9 {
10 
11    //实例变量
12 
13 @public;
14 
15    int _num1;
16 
17    int _num2;
18 
19 }
20 
21 //
22 
23 -(int)sum;//一个没有参数的方法
24 
25 //有参方法的声明
26 
27 -(int)sum:(int) x and:(int) y;
28 
29 @end
30 
31 @implementation cacu
32 
33 -(int)sum{
34 
35    //计算_num1+_num2;
36 
37    return _num1+_num2;
38 
39 }
40 
41 -(int)sum:(int) x and:(int) y{
42 
43    return x+y;
44 
45    }
46 
47 @end
48 
49 int main (int argc, const char *argv[])
50 
51 {
52 
53     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];                        
54 
55   
56 
57     //在此处输入Objective-C代码
58 
59     cacu *ca=[cacu new];
60 
61     //对象访问实例变量
62 
63     ca->_num1=12;
64 
65     ca->_num2=30;
66 
67     //调用无参方法
68 
69     int s=[ca sum];
70 
71     NSLog(@"s=%d",s);
72 
73     //调用有参方法
74 
75     s=[ca sum:34 and:23];
76 
77     NSLog(@"s=%d",s);
78 
79     [pool drain];
80 
81     return 0;
82 
83 }

 

OC

****带参数的方法的定义和实现****

声明:

有一个参数的方法:

  方法类别 (返回值类型) 方法名1:(参数类型) 参数名称;

有两个参数的方法

  方法类别 (返回值类型) 方法名1:(参数类型1) 参数名称1 and:(参数类型2)参数名称2;

例:

方法的声明:

  -(int)sum:(int) x and:(int) y;

方法的实现:

  -(int)sum:(int) x and:(int) y{

  return x+y;

  }

有参方法的使用注意:

  方法类型:(-)对象方法

  方法的返回值:int 类型

  方法的参数:x y

  参数类型:int

  方法名: sum:  and:     (冒号是方法名的一部分)

实例变量读写规范:类型名 _实例变量名

 

有参方法的调用:

  [指针变量名 方法名:  实参   and: 实参];

 

****函数与对象方法的区别****

对象方法:

  1、对象方法的实现只能写在@implementation...@end中,对象方法的声明只能写在@interface...@end中间

  2、对象方法以“-”开头,类方法以“+”开头

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

  4、函数属于整个文件,可以写在文件中任何位置,包括@implementation...@end中,但写在@interface...@end会无法识别。函数声明尅一在main函数内部,也可以在main外部

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

 

函数:

  1、所有函数都是平行的

  2、函数不存在隶属关系

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

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

 

 

****常见错误:****

1、@interface...@end与@implementation...@end是不能嵌套使用的

2、不能只有类的声明没有类的实现

3、漏写@end

4、两个类的声明、实现顺序可以打乱的

5、成员变量没有写在{}中

6、方法声明写在{}中

7、在声明时不能对类的成员变量进行初始化,成员变量不能脱离对象独立存在

8、方法无法像函数一样调用

9、成员变量和方法不能使用static等关键字修饰,不要与C混淆

10、类的实现可以写在main函数之后,使用时注意声明

 

 

 

posted @ 2015-10-22 11:41  gaozp  阅读(4450)  评论(0编辑  收藏  举报