黑马程序员技术交流社区

标题: 用类方法创建对象和用init创建对象的区别? [打印本页]

作者: gululu23    时间: 2014-11-2 00:03
标题: 用类方法创建对象和用init创建对象的区别?
请教一下,用类方法创建自定义对象和用init创建同样功能的自定义对对象,有什么区别呢?
部分代码如下:
+ (id)studentWithName:(NSString *)name andAge:(int)age andNo:(int)no andBook:(Book *)book
{/*
   Student *st =  [[[self alloc] init] autorelease];
    st.name = name;
    st.age = age;
    st.no  = no;
    st.book = book;
  */
    Student *st = [self personWithName:name andAge:age];
    st.no = no;
    st.book = book;
    return st;
}

- (id)initWithName:(NSString *)name andAge:(int)age andNo:(int)no  andBook:(Book *)book
{
    if (self = [super init])
    {
        self.name = name;
        self.age = age;
        self.no = no;
        self.book = book;
    }
    return self;
}
作者: doudou33420    时间: 2014-11-2 02:02
没感觉有区别. 都是创建对象.   类方法创建可能就少打几个代码方便点吧.  要么就是类方法是开辟空间初始化一起做  对象方法是 之前开辟过空间了 他制作初始化操作




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