黑马程序员技术交流社区

标题: 关于OC中继承的问题 [打印本页]

作者: bhr756052342    时间: 2014-9-30 15:26
标题: 关于OC中继承的问题
# important<Foundation/Foundation.h>

@interface Person : NSObjece
@end


@implementatino Person
@end


int main()
{
    int *p = [Person new]
下面省略

这里在将继承的时候  老师说nwe 是NSObject中的方法

但是在一开始讲的时候  老师说

int *p= [Person xiaoming]

这样的是,定义了Person类的对象  xiaoming   

而上面[Person new]

是类方法的调用


这里关于区分类方法的调用,,还是新对象的定义。怎样区分????


}
作者: 诺微_    时间: 2014-9-30 17:55
int *p = [Person new]不对的,创建的是person的对象p,其类型应该为person哈,怎么是int类型的呢?老师真的这么讲的?不会吧!
作者: 诺微_    时间: 2014-9-30 17:58
诺微_ 发表于 2014-9-30 17:55
int *p = 不对的,创建的是person的对象p,其类型应该为person哈,怎么是int类型的呢?老师真的这么讲的? ...

上述有个错误,其类型应该为person *
作者: 微雨独行    时间: 2014-9-30 18:05
区别类方法的调用主要看一点:调用者是谁,类方法只能由类(类名)来调用。 new方法是NSObject类中的方法,属于类方法。这个可以在官方文档中查找到。而我们通常情况下,遇到的类方法多数是自己定义的,这样的话,就可以看是不是以加号+开头了,+开头是类方法,- 开头是对象方法。简单一点:类方法调用就看调用者是不是类名,方法是不是 + 开头。    这里的xiaoming,你先看有没有方法名是xiaoming的,如果没有,那肯定不是类方法调用。由于对象通常都是由指针指向的(匿名对象除外),因此看到指针,优先排除了类方法调。,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2