• Objective


    前面我们学习了怎么设计一个合理的类, 这次我们来讲解一些OC方法, 在之前的例子里, 我们也用过方法, 但对方法的印象不深, 方法还有什么用途呢? 下面让我们来一起看看~~


    首先我们来看一个例子:

    #import <Foundation/Foundation.h>
    
    @interface Preson : NSObject
    {
        @public
        int age;
    }
    - (void)print;
    @end
    
    @implementation Preson
    
    - (void)print
    {
        NSLog(@"小明今年%d岁.", age);
    }
    @end
    
    
    int main()
    {
        Preson *p = [Preson new];
        
        p->age = 20;
        
        [p print];
        
        return 0;
    }


    里面的方法声明, 方法实现都分别写在@interface和@implementation里, 而调用代码则是在main()函数里, 如果我需要一个计算平方的算法呢? 在OC中的方法和C语言的函数就又一定的写法区别了, 比如方法名和参数是以 " : "号分开, 比如:

    声明:

    - (int)chengji:(int)n;
    
    实现:
    - (int)chengji:(int)n
    {
        return n * n;
    }
    




    而多个参数也是如此用" : "号分开, 但必须注意一点, apple公司的建议写法是在参数前添加描述, 越详细越好, 比如:

    声明:

    - (int)addition:(int)n addN:(int)n1;
    
    实现:

    - (int)addition:(int)n addN:(int)n1
    {
        return n + n1;
    }

    PS: 注意, 参数和描述必须以空格分开, 不然参数名和描述就会混在一起, 编译器会报错, 而且, 只有addition: addN: 这样子才是完整的方法名.



    完整的代码:

    #import <Foundation/Foundation.h>
    
    @interface Preson : NSObject
    {
        @public
        int age;
    }
    - (void)print;
    - (int)addition:(int)n addN:(int)n1;
    @end
    
    @implementation Preson
    
    - (int)addition:(int)n addN:(int)n1
    {
        return n + n1;
    }
    
    - (void)print
    {
        NSLog(@"小明今年%d岁.", age);
    }
    @end
    
    
    int main()
    {
        Preson *p = [Preson new];
        
        p->age = 20;
        
        [p print];
        
        int a = [p addition:10 addN:20];
        NSLog(@"%d", a);
        
        return 0;
    }




    好了, 这次我们就讲到这里, 下次我们继续~~~



  • 相关阅读:
    养生与健康
    vue + elementui 使用多选按钮实现单选功能
    生活小方
    和业务相关的工具函数
    vue + element ui开发过程中需要注意的几个点
    【转】webpack中关于source map的配置
    【转】移动前端手机输入法自带emoji表情字符处理
    webpack相关
    vue项目优化
    运维集群架构演变之美 【转】
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4282859.html
Copyright © 2020-2023  润新知