Objective-C-实例变量的可见度和方法

一、实例变量可见度

    //实例变量默认的可见度是protected,只能在本类和继承子类中访问到

    NSString *_name;

    

    @private

    NSString *_gender;//私有可见度,只能在本类中直接访问,除去本类的任何类(包括子类)无法访问到该实例变量

 

    @public

    NSInteger _age;//共有可见度,在任何地方都可以访问该实例变量



二、方法

(1)方法的声明

方法的研究:

- (void):(int)a  :(int)b  :(int )c;

用参数形容词来让使用者见名知意

- (void)replaceAtIndex: (NSInteger)index withObject: (id)object;


//replaceAtIndex/withObject :参数形容词(一般形容参数的作用以及这个方法实现的功能)

//冒号(: :表示后边紧跟的是参数类型以及参数名【一个方法名中有几个冒号,就有几个参数】

//确定方法名:参数形容词:(replaceAtIndex:withObject:)

//两个方法的方法名不能相同,但是类型不同(一个是类方法一个实例方法)则可以(扩充的知识



(2)方法的分类

类方法(用+方法类型标识符修饰,通过类来调用)

实例方法(用-方法类型标识符修饰,通过实例对象来调用)



(3)setter和getter设置器和访问器

因为默认的实例变量可见度是protected,只能在本类和子类中访问,所以需要一个方法能给外部提供调用或者修改实例变量的功能

- (void)setName: (NSString *)name;//.h文件中声明

- (void)setName: (NSString *)name //.m文件中实现

{

   _name=name;

}


- (NSString *)getName;//.h文件中声明

- (NSString *)getName //.m文件中实现

{

   return _name;

}



(4)自定义初始化方法

通过自定义初始化方法给多个实例变量赋初值

- (id)initWithName:(NSString *)name

{

   _name=name;


    return self;

}


你可能感兴趣的:(Objective-C)