zoukankan      html  css  js  c++  java
  • 黑马程序员——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培训、期待与您交流! ----------

  • 相关阅读:
    第三百九十一、二、三、四、五、六、七天 how can I 坚持
    第三百九十天 how can I 坚持
    第三百八十九天 how can I 坚持
    POJ 1745:Divisibility 枚举某一状态的DP
    POJ 1502:MPI Maelstrom Dijkstra模板题
    POJ 1160:Post Office 邮局经典DP
    POJ 1062:昂贵的聘礼
    POJ 1125:Stockbroker Grapevine
    POJ 1236:Network of Schools
    POJ 2186:Popular Cows Tarjan模板题
  • 原文地址:https://www.cnblogs.com/gaozp/p/4900402.html
Copyright © 2011-2022 走看看