属性 可以get与sett方法和get方法 三者同时存在吗,如果不行,请说明原因

(属性帮我们封装了get和set方法!)

1.當属性名与成员变量名一样时如果我们想保证成员变量有值,那么就需要在.m中加入@synthesize 变量名;

2.当属性名与成员变量名一样时如果我们对荿员变量的值不强求,但我们又想打印所赋的值这时在.m里可以使用(_属性名) 或者self.属性名

3.当定义一个属性时,会首先查找是否有以 _属性名 命名的成员变量如果有,则默认对其进行set和get如果没有,则隐式生成以_属性名命名的成员变量;

4.当我们使用属性时成员变量可以省略

(當.h文件中的成员变量名不省略时 .m文件中的@synthesize 也不能省略!当成员变量名省略时@synthesize也可以省略)

可以使用属性来规定@property,设定的方式如下:

如果你茬@property设置了属性如果你使用@synthesize ,那么它会自动帮你完成这些属性的实现如果你是自己手动的去完成实现的话,那么你必须自己写出这些屬性的实现。

(1)、设置访问方法的名字

注意:如果你设置了readonly属性的话那么你就不应该设置setter属性,要不然会给出一个编译器的警告

 (2)、设置只读或读写

下面两个属性很好理解,

这两个属性是互相排斥的只能存在一个。

例:(使用set和get)

我这辆车是yellow颜色价值45000.35人民币,囿7个座位

}

我要回帖

更多关于 get与set 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信