黑马程序员--无参、有参方法声明实现及调用

来源:互联网 发布:权力的游戏 大麻雀知乎 编辑:程序博客网 时间:2024/06/05 09:52

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

回顾:

    C语言的函数分类:无参无返回值、无参有返回值、有参无返回值、有参有返回值


    类和对象的概念

    无参方法的声明和调用

OC中的方法分为:对象方法和类方法

     对象方法:

        1)对象方法以-开头  如 -(void)xxx;

        2)对象方法只能由对象来调用

        3)对象方法中可以访问当前对象的成员变量

        4)调用格式   [对象名   对象方法名];

     类方法:

        1)类方法以+开头   如 +(void) put;

        2)类方法只能由类调用

        3)类方法中不能访问实例(成员)变量,因为类方法由类来调用,并没有创建存储空间来存储类中的成员变量

        4)调用格式:[类名  类方法名];

        5)类方法的好处和适用场合:

                  不依赖于对象,执行效率更高

                  能用类方法解决的问题,尽量用类方法

                  场合:当方法内部不需要使用成员变量时,可以改为类方法

//类的定义@interface Car:NSObject{    int lunzi;    int speed;    NSString *pp;}                     //如果没有属性,可以不写,大括号也需要省略//行为//车跑的方法   方法名 run   ,停止的方法名stop-(void)run;   //定义了一个无参无返回值的方法-(void)stop;@end//类的实现@implementation Car//方法的具体实现-(void)run{    NSLog(@"车跑在高速路上");}-(void)stop{    NSLog(@"车停了");}@endint main(int argc, const char * argv[]) {    @autoreleasepool {        //创建了一个对象 对象名 car        Car *car = [Car new];        //调用方法        [car stop];        [car run];    }    return 0;}


有参方法的声明和实现

    C语言函数

    int sum(int x,int y){

         return x+y;

     }

    OC方法

    -(返回值类型)方法名1:(参数类型) 参数名;   //有一个参数的方法

    -(返回值类型)方法名1:(参数类型1) 参数名1 and:(参数类型2) 参数名2;   //有2个参数的方法

    //sum-->OC方法

    //方法的声明

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

    有参方法的注意事项:

    1)方法的类型: 对象方法

    2)方法的返回值: int 类型

    3)方法的参数是: x  y

    4)参数的类型: 第一个 int  ,第二个 int

    5)方法名:sum:   and:   (冒号是方法名的一部分,不能省略)

    //方法的实现

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

          return x+y;

     }

#import <Foundation/Foundation.h>//写一个计算器的类//类名:Caculator//实例变量: num1  num2//行为: + - * /@interface Caculator : NSObject{    //实例变量书写规范    @public    int _num1;    //数据类型  _实例变量名    int _num2;}//写一个没有参数的方法-(int)sum;   //没有参数,返回值是int类型-(int)sum:(int) x and:(int) y;@end@implementation Caculator//实现的方法//方法名 sum-(int)sum{    //计算 _num1 + _num2;    return _num1+_num2;}//方法名 sum: and:-(int)sum:(int) x and:(int) y{    return x+y;}@endint main(int argc, const char * argv[]) {    @autoreleasepool {        //创建对象        Caculator *ca = [Caculator new];        //对象访问实例变量        ca->_num1 = 12;1        ca->_num2 = 20;        //调用无参方法        int s = [ca sum];        //调用有参的方法        s = [ca sum:15 and:20];        NSLog(@"s=%d",s);    }    return 0;}
类的 声明 实现 调用

0 0