实例变量的可见度(共三种):
@public:公共的,在任何文件中都可以访问.(访问方式是通过 对象 + 指向操作符 + 实例变量,例如:per -> name)
@protected :受保护的,有一定的访问权限.只允许在本类文件以及子类文件中访问,其他文件不可以访问.
@private : 私有的,只允许在本类文件中访问,不可以在子类文件 以及在其他文件中访问.
如下,定义一个Person类
@interface Person : NSObject
{
@public
NSString *_name;//姓名,这里姓名声明为 public ,因此它在任何文件中都可以访问.
@protected
NSString *_sex;//性别, 这里性别声明为 protected , 即为受保护的,有一定的访问权限.只允许在本类文件以及子类文件中访问,其他文件不可以访问.
@private
NSInteger _age;//年龄, 这里年龄声明为 private , 即私有的,只允许在本类文件中访问,不可以在子类文件 以及在其他文件中访问.
}
@end
如果没有任何声明,则默认的可见度为 @protected
类和文件的关系:
文件和类没有直接关系.文件中可以存放多个类.只要类符合接口部分(以@interface开头,以@end结束)以及实现部分(以@implementation开头,以@end结束)的定义格式就可以了.
但是一般情况下,一个文件中就定义一个类, 而且文件的名字和类的名字一样,这样就能清晰的知道该文件中类的名字.
self方法:
当方法是一个 - 号方法时,调用该方法的对象是谁,self就代表当前对象
当方法是一个 + 号方法时,调用该方法的类是谁,self就代表当前类
设置器setter方法:
- 号方法,返回值类型为 void ,只有一个参数
例如:为name赋值
- (void)setName:(NSString *)name;
访问器getter方法:
- 号方法 有返回值,无参数
例如:读取_name的值
- (NSString *)name;
OC学习(二)实例变量的可见度和几种常用方法
最新推荐文章于 2018-06-03 15:42:43 发布