黑馬程序員——OC有參函數聲明以及調用


黑馬程序員——OC有參函數聲明以及調用

 

------- android培訓ios培訓、期待與您交流! ----------

 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函數之后,使用時注意聲明

 

 

 

------- android培訓ios培訓、期待與您交流! ----------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM