您的位置:首页 > 其它

OC对象初始化-为对象分配空间初始化方法与对象初始化

2015-01-05 22:02 302 查看
//

// main.m

// 对象初始化

//

// Created by Goddog on 15/1/5.

// Copyright (c) 2015年 Goddog. All rights reserved.

//

/*

1.对象创建的方式[[类名 alloc] init]和[类名 new],实际上每次创建对象都要用alloc分配内存空间。

2.对象分配空间:系统为该对象的所有实例变量分配内存空间,将每个实例变量的内存空间都重置为0。分配空间用init初始化才可。

3.init方法可以初始化,但对象的所有成员变量依然为0,我门可以重写init方法,自定义对属性的初始化。

*/

//  User.h
//  对象初始化
//
//  Created by Goddog on 15/1/5.
//  Copyright (c) 2015年 Goddog. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface User : NSObject
//@property定义3个属性
@property (nonatomic,copy) NSString* name;
@property (nonatomic,assign) int age;
@property (nonatomic,copy) NSString* address;
@end


//
//  User.m
//  对象初始化
//
//  Created by Goddog on 15/1/5.
//  Copyright (c) 2015年 Goddog. All rights reserved.
//
//重写init方法,完成自定义初始化

#import "User.h"

@implementation User

@synthesize name;
@synthesize age;
@synthesize address;

//重写init方法,完成自定义初始化
-(id) init
{
//调用父类的init方法执行初始化,将初始化得到的对象赋值给self对象
//如果self不为空,表示父类的init方法初始化成功
if (self == [super init]) {
//对该对象的属性name、age、address赋初始化值
self.name = @"波多";
self.age=100;
self.address=@"日本";
}
return self;
}

@end


#import <Foundation/Foundation.h>
#import "User.h"

int main(int argc, const char * argv[]) {
@autoreleasepool {

//创建并初始化对象
User* user = [[User alloc] init];

//访问User对象
//NSLog(@"芳名:%@,年龄:%d,住址:%@",[user name],[user age],[user address]);
NSLog(@"芳名:%@,年龄:%d,住址:%@",user.name,user.age,user.address);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐