属性
:
某种事物的特征
setter: 设置者
-(void)setName:(nsstring *)name;
getter: 获取者
-(nsstring *)name;
setter: 公式
-(void)set 属性名 :( 属性类型 ) 形参名 ;
getter: 公式
-( 属性类型 ) 属性名 ;
点语法 ( . ) 又叫属性
可以通过 . 给属性 赋值 取值
属性的公式 :
在 .h 文件中 @property 属性的类型 属性名 ; 表示声明属性方法
在 .m 文件中 @synthesize 表示实现属性方法
现在 @property 既包含声明 也包含实现
构造方法: ->init
自定义 构造方法 :
1 、公式 :
-(id)initWith 要初始的变量名 :( 数据类型 ) 形参名
{
self = [super init];
setter: 设置者
-(void)setName:(nsstring *)name;
getter: 获取者
-(nsstring *)name;
setter: 公式
-(void)set 属性名 :( 属性类型 ) 形参名 ;
getter: 公式
-( 属性类型 ) 属性名 ;
点语法 ( . ) 又叫属性
可以通过 . 给属性 赋值 取值
属性的公式 :
在 .h 文件中 @property 属性的类型 属性名 ; 表示声明属性方法
在 .m 文件中 @synthesize 表示实现属性方法
现在 @property 既包含声明 也包含实现
构造方法: ->init
自定义 构造方法 :
1 、公式 :
-(id)initWith 要初始的变量名 :( 数据类型 ) 形参名
{
self = [super init];
if (self){
_name=name;
}
return self;
return self;
}
2
、本质:
就是一个
有参数
有返回值的
方法
但是
自定义构造函数
有特殊意义
表示是一个创建对象的方法
标识它有特殊意义的符号:
(1) 方法名:必须用 initWith 作为方法的开头 并且 W 大写
(2) 方法实现的公式:自定义构造函数 必须实现函数里面的功能 {
self = [super init];
if (self) {
}
return self;
}
注意: 1 、 initWith W 必须大写
2 、不要忘记在 .h 中去声明
?为什么要使用属性 -> 正向传值 -> 随时
?为什么使用自定义构造方法 ———— 传值 -> 正向传值 -> 只能在初始化一个对象的时候使用
目的都是为了传值 —— 把一个值传到另一个地方
标识它有特殊意义的符号:
(1) 方法名:必须用 initWith 作为方法的开头 并且 W 大写
(2) 方法实现的公式:自定义构造函数 必须实现函数里面的功能 {
self = [super init];
if (self) {
}
return self;
}
注意: 1 、 initWith W 必须大写
2 、不要忘记在 .h 中去声明
?为什么要使用属性 -> 正向传值 -> 随时
?为什么使用自定义构造方法 ———— 传值 -> 正向传值 -> 只能在初始化一个对象的时候使用
目的都是为了传值 —— 把一个值传到另一个地方
******变量名不能重名 方法名 也不能重名
set和get的作用就是在外部存取变量的值
带参的函数是希望从外部类得到一个参数
setter方法是为了从外部类得到一个参数赋值给内部变量 _blood (写入数值)
如果写的是setter方法,函数名必须用set开头,后面还必须有参数,系统才会认为它是一个setter方法
-(void) set首字母大写的变量名:(变量的参数类型)形参名;
-(void) setBlood:(int)newBlood;
getter 方法存在的意义是为了取值(读取)
getter方法的书写规范:函数名必须是内部变量的名字,
- (返回类型) 变量名;
- (int) blood;
@property帮助我们声明了setter 和 getter 方法