Objective C属性

属性

1.    实例变量的范围(作用域)

a)      private:私有的,只能在本类中使用,外部不能直接使用

b)     protected:受保护的,能在本类和子类中使用,外部不能直接使用

c)      public:公共的,所有人都可以使用

2.    访问器(set和get)

a)      使用访问器的原因:

                     i.           加强数据的安全性

                   ii.           实现外部可以访问protected private 的实例变量

b)     set方法

                     i.           声明格式:-(void) set实例变量名:(参数类型)参数名;(实例变量名开头要大写)

1.       例如:-(void)setAge:(int)age1;

                   ii.           实现:-(void)set实例变量名:(参数类型)参数名{}(实例变量名开头要大写)

1.       例如:-(void)setAge:(int)age1{ age = age1};

                  iii.            

c)      get方法

                     i.           格式:-(返回值类型) get实例变量名;(实例变量名开头要大写)

1.       例如:-(int)getAge;

                   ii.           实现:-(int)get实例变量名{}(实例变量名开头要大写)

1.       例如:-(int)setAge {return age};

 

d)      

3.    关键字@property 和 @synthesize

a)      作用:声明创建属性。

b)     @property

                     i.           格式:@property 数据类型属性名;

                   ii.           例如:@property int age;  @property NSString *name

                  iii.           其中包含:

1.       实例变量

2.       set方法的声明

3.       get方法的声明

c)      @synthesize

                     i.           格式:@synthesize 属性名;

                   ii.           例如:@synthesize age;   @synthesize name;

                  iii.           其中包含:

1.       set方法的实现

2.       get方法的实现

                  iv.           如果.h文件中定义了实例变量,.m文件中使用@synthesize,并且属性和实例变量名称相同,@synthesize会将属性生成的gettersetter与实例变量合成

                   v.           如果.h文件中省略了实例变量,.m文件中使用@synthesize,会自动生成同属性名的实例变量,将gettersetter与生成后的变量合成

                  vi.           .m文件中可以使用@synthesize指定属性生成什么样的实例变量名称

1.       @synthesize 属性名 = 生成的实例变量名;

 

d)     PS:当用了@property后,实例变量可以省略,@synthesize也可以省略不写;@synthesize省略后,系统会自动生成一个带下划线的变量,以及setget方法的实现。

4.    (.)点语法

a)      OC中点语法相当于getset的另一种形式

b)     点语法在OCC中的区别

                     i.           OC中,点语法相当于setget方法的另一种形式

                   ii.           C中,点语法就是访问结构体的成员变量

c)      PS:在OC中,不能在set get方法中使用(self.属性名)

5.    封装

a)      什么叫封装:隐藏内部实现,稳定外部接口;可以看做包装;

b)     封装的实现:

                     i.           属性封装了实例变量、setget方法

                   ii.           方法封装了具体的实现代码

                  iii.           类封装了属性和方法

c)       

6.     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值