属性是OC2.0之后出来的新的语法,用来替代setter以及getter方法,使用属性可以快速创建setter以及getter方法的声明,setter以及getter方法的实现.另外还添加了对实例变量操作的安全处理
在.h文件
@property用来定义属性,NSString *属性的类型(和实例变量类型相同) name属性名和实例变量名相同)切记:@property只是自动声明setter以及getter  方法的声明
例如
@property NSString *name;
  NSString *为属性的类型  name  为属性名
在.m文件
  @synthesize 属性的实现部分,实现属性自动生成的setter以及getter方法
例如
  @synthesize name = _name;
 name 属性名 , 指定要实现哪一个属性生成的setter以及getter方法
 _name,指定setter和getter方法内部所要操作的实例变量
如果指定的实力变量没有定义,系统会字自动生成指定的实例变量,但是生成的实例变量是私有的,子类不能直接访问.如果实例变量想让子类访问,在.h文件必须定义实例变量.如果未指定setter和getter内部所要访问的实例变量时,系统自动生成一个和属性名一样的实例变量.
如果对于setter和getter方法我们一旦实现以后系统就不会再自动生成了
如果在.m文件中为通过@synthesize对属性进行合成,系统自动合成,只不过此时系统默认的setter和getter方法内部所操作的实例变量是_属性名.