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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© WANGJIAO 中级黑马   /  2014-11-8 19:52  /  1648 人查看  /  6 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文



视频中说能用如图:

习题中说不能用如图:




给个准话,到底能不能用

评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

6 个回复

倒序浏览

试了下,果然不能用,老师视频讲错咯
回复 使用道具 举报
不用管我,就让我一个人纠结吧{:3_60:}
回复 使用道具 举报
id类型是所有类的祖宗,是非确定类型的类,你使用.语法是访问不到确定类的属性和方法的。只有明确是哪个类的对象才能使用点语法访问方法和属性
回复 使用道具 举报
本帖最后由 doudou33420 于 2014-11-9 07:31 编辑

是这样的
id是所有对象的父类
父类接受子类的对象 形成了多态         ------------id abc = [person alloc]init]
多态是不支持父类调用子类方法的
所以 id.age 这样是在调用一个没有的方法
如果id里本身就有setAge 和(get)age方法的话  是可以这么用的
回复 使用道具 举报
doudou33420 发表于 2014-11-9 07:29
是这样的
id是所有对象的父类
父类接受子类的对象 形成了多态         ------------id abc = init]

原来如此,谢谢~
回复 使用道具 举报
米匠 中级黑马 2014-11-29 17:43:57
7#
doudou33420 发表于 2014-11-9 07:29
是这样的
id是所有对象的父类
父类接受子类的对象 形成了多态         ------------id abc = init]

那为什么视频中 [id对象 setAge:10]
可以用呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马