//三大类参数
//1.线程相关的
//atomic:原子访问,多个线程之间不可同时访问,线程安全的,效率不高
//nonatomic:非原子访问,线程不安全,效率高(一般使用它)
//@property (修饰属性的参数1,修饰属性的参数2,修饰属性的参数3) 变量类型 变量名;
//2.内存管理相关
//retain:修饰对象类型
//copy:也是对象类型
//assign:修饰基本数据类型,修饰对象类型时表示弱引用
//strong:修饰对象,强引用,相当于retain
//weak:修饰对象,弱引用,相当于assign
//3.生成访问器相关
//readwrite:默认值,同时生成setter和getter方法
//readonly:只生成getter方法
@property (nonatomic,strong,readwrite) NSString *name;
@property (nonatomic,assign,readwrite) NSInteger age;
@property (nonatomic,assign,readwrite,getter=isMale) BOOL gender;
-(instancetype)initWithName:(NSString *)name age:(NSInteger)age gender:(BOOL)gender;