ObjectiveC 类的声明和使用

来源:互联网 发布:装修找熟人好不好知乎 编辑:程序博客网 时间:2024/06/08 06:30

关于OC中类的声明和使用

 

1:声明

 

 @interface className

{

      propertyType propertyName;

}

-(void)setPropertyName:(int)name;

 

@end;

 

2:组合合成

  @implemation className

{

     -(void)setPropertyName:(int)name

    {

  

          propertyName=name;

     }

}

 

@end;

 

 

注意:如果方法有多个参数时,在第一个参数后面先添加空格在添加冒号(:),然后再添加括号,括号里面是参数的类型,紧接着是参数名。

 

  -(void)setPropertyName:(int)name   :(int)otherParameters

 

   有时候为了更清晰的知道参数的含义会在每个参数前面添加也就是冒号前面添加一个类似于函数名的说明文字

 

   -(void)setPropertyName:(int)name   setOtherParam:(int)otherParameters

 

 

 

注意:添加gettersetter方法的原因

 

由于面向对象的安全性,成员属性的默认修饰符为@protected所有在函数中是无法读取到或者设置其值,只能用成员函数(成员函数的默认修饰符为@public)来对成员变量进行设置

 

 

 

注意:当大家希望使用点方法来调用gettersetter 方法时有两种方法

 

 

1⃣️成员变量在声明时使用下划线,gettersetter方法的函数名使用(set或者get)和成员变量名(去除下划线之后的变量名)的首字母大写组合而成,其中setter的参数名要为去处下划线的参数名

2⃣️使用关键字@property和@synthesize,其中@property用于成员变量的定义(@property type name),在使用时一次只能定义一个,不能连续定义多个。@synthesize用于.m文件中(@synthesize name),在使用时一次可以合成多个变量,中间使用逗号隔开。

 

 

例题1⃣️

 

@interface Date:NSObject

{

 

     int _num;

     int _age;

}

 

- (void) setNum:(int)num;

-(int)getNum;

 

 

- (void) setAge(int)age;

-(int)getAge;

 

@end

 

@implemation Date

{

 

    - (void) setNum:(int)num

     {

              

              _num=num;

     }

 

   -(int)getNum

   {

 

      return _num;

    }

 

    - (void) setAge:(int)age

     {

              

              _age=age;

     }

 

   -(int)getAge

   {

 

      return _age;

    }

}

 @end

 

例题2⃣️

 

@interface Date:NSObject

 

@property int num;

@property int age;

 

@end

 

 

@implemation Date

 

@synthesize num,age;

 

@end;

0 0
原创粉丝点击