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

© Jack-xie 中级黑马   /  2014-9-30 16:32  /  1331 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在OC中调用方法:方法一为对象调用 -(void)eat;      Person *person1 = [Person new];     [person1 eat];
                                 方法二为类调用     +(void)eat;      [Person eat];
请问在什么条件成立的时候,可以直接用(例举:[_dog bark] )这种方式调用?此处的_dog 将如何表述呢?

1 个回复

倒序浏览
要么是对象调用,要么是类调用。
如果是对象调用,那么前面应该有 Dog *_dog=[Dog new],创建一个新对象,用_dog指向它,而且bark方法也应该是 - (void)bark;
如果前面没有Dog *_dog=[Dog new]是直接[_dog bark]这么调用,那么这里的_dog就是类了,而此处的bark方法也应该是 + (void)bark;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马