Object-C学习之四:字段与函数

本文深入解析Objective-C的类声明语法及函数调用方式,详细阐述了字段作用域、函数模型和与C++的对比,提供了一个清晰的教程帮助开发者掌握Objective-C的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 先看一个简单的OC类申明

   @interface Person : NSObject
   {
      int age;  //字段在此定义
    }

    - (void)setAge:(int)newAge; //函数在此定义

   @end

   根据上面类的申明,我们可以把字段定义为@public @protected @private来对字段的作用域加以修饰,这和C++比较类似,其中缺省为@protected

   @OC函数全部都是public类型

    上面-表示函数属于对象函数,如果为+则表示类函数(这与Java、C++中类中static函数一样)

  • 函数的模型

-(int) f:(int)x

函数模型从左到右说明
    1、-或+表示对象函数或类函数,
    2、(int)表示返回值
    3、f:表示函数名称
    4、(int)x表示函数形参

多参数函数

   带两个参数(函数名: f:: )   -(int) f:(int)x :(int)y
   参数能够在:前面设置一个标签,也就是在:前面的名称,它也是函数名的一部分,
  标签是为了方便阅读,不带标签实际上也有一个匿名标签。
  上面函数可以写成
  -(int) f:(int)x g:(int)y
  第一个参数函数名其实就是它的标签。

  • C++与OC函数调用比较        
    函数类型C++Object-C
    无参数int say();
    int res = obj->say();
    -(int) say;
    int res = [obj say];
    一个参数int say(int a);
    int res = obj->say(1);
    -(int) say:(int)a;
    int res = [obj say:1];
    两个参数int say(int a,int b);
    int res = obj->say(1,3);
    -(int) say:(int)a :(int)b;
    int res = [obj say:1 :3];
    带标签int sayAndWrite(int a,int b);
    int res = obj ->sayAndWrite(1,3);
    -(int) say:(int)a andWrite:(int)b;
    int res = [obj say:1 andWrite:3];

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值