A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

LiangYanpeng

中级黑马

  • 黑马币:32

  • 帖子:51

  • 精华:0

上课的时候是分着讲的,我自己整理了一下关于property的相关用法,把现有可以用的方法都汇总在这里,希望大家指正
1--------------最新用法
    @property int age
            1>表示声明并实现了
            -(void)setAge:(int)age;
            -(int)age;
            2>并定义了_age私有变量
            如果实例属性中有int _age则不定义私有变量
            3>p.age更改了_age的值.
2--------------需要synthesize的
    @property int age
    @synthesize age
            1>表示定义并声明了
            -(void)setAge:(int)age;
            -(int)age;
            2>并定义了私有变量age;
            如果实例变量中有age则,不重新定义私有变量.
            3>p.age更改了age的值.
3--------------
    @property int age
    @synthesize age=_age        
            1>表示定义并声明了
            -(void)setAge:(int)age;
            -(int)age;
            2>并没有定义私有变量age;

            3>p.age更改了等号右面实例变量的值.
4--------------关于重写setget方法
    @property int age
            如果实例变量中有_age的情况下
            可以重写get和set方法
            如果实例变量中没有_age的情况下
            只能重写set和get方法其中的一个


8 个回复

倒序浏览
收藏查看

评分

参与人数 1黑马币 +6 收起 理由
LiangYanpeng + 6 第一次发帖感谢支持

查看全部评分

回复 使用道具 举报
总结的很好,继续努力!加油
回复 使用道具 举报
下面把参数的一起总结了把
回复 使用道具 举报
你再试试最后的那个变化结果  当实例变量有_age 的时候, 当然也有@property的时候后,你确定 set 和 get  都能重写?好像只能重写一个
回复 使用道具 举报
手心的温度 来自手机 中级黑马 2015-8-27 21:42:51
地板
感谢大神的分享
回复 使用道具 举报
18910718368 发表于 2015-8-27 21:29
你再试试最后的那个变化结果  当实例变量有_age 的时候, 当然也有@property的时候后,你确定 set 和 get  都 ...

都可以重写,因为老师讲的有点问题,我才会把这个发到论坛上,后来跟老师证实了一下,如果深扣教材的话能找到解释这个的依据
回复 使用道具 举报
学习了,不错
回复 使用道具 举报
魏武 发表于 2015-8-27 21:27
总结的很好,继续努力!加油

谢领导肯定
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马