Objective-C - 属性类型修饰符

来源:互联网 发布:2016夏季联赛数据 编辑:程序博客网 时间:2024/05/22 13:39

"属性的访问修饰符



1>属性的访问修饰符是关键字,用来修饰在类的.h中直接声明的属性的关键字.

如下四种:

@public

@protected

@private

@package



2> 作用

一个类的.h中声明的属性如果用这四个关键字修饰,可以限制在当前类或者当前类的子类的内部或者外部访问这些属性的权限.



3> 用法


1, @public

在当前类/子类的外部可以用对象名->_属性名访问,也可以用get/set访问

在当前类/子类的内部可以直接用_属性名访问,也可以用set/get访问


2, @protected

在当前类/子类的外部不可以用对象名->_属性名访问,可以用get/set访问

在当前类/子类的内部可以直接用_属性名访问,也可以用set/get访问


3, @private --->私有属性

在当前类/子类的外部不可以用对象名->_属性名访问,可以用get/set访问

在当前类的内部可以直接用_属性名访问,也可以用set/get访问

在当子类的内部不可以直接用_属性名访问,可以用set/get访问



4, @package

在同一个框架内部,@public等价



4>特点

1,一个类的.h中属性,如果什么都没有添加,默认是@protected.

2,属性的修饰符从这个属性向上找,找到距离它最近的修饰符.


@interface HMPerson : NSObject

{

    @private

    NSString *_name;

    int _age;

    @public

    BOOL _sex;

    double _heght;


}

@end

0 0
原创粉丝点击